From 7a0c7c1b4dc100fcab3c4fa262e9938b97d8e79b Mon Sep 17 00:00:00 2001 From: Cedric Decoster Date: Mon, 30 Sep 2024 08:19:22 +0200 Subject: [PATCH 1/8] fixed wrong indexing bitseq updated nodetest to allow specific rpcs --- .../ModuleStateNextTest.cs | 63 +++++++++++++++++++ Substrate.NetApi.TestNode/NodeTest.cs | 8 ++- .../Model/Types/Base/BaseBitSeq.cs | 2 +- 3 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 Substrate.NetApi.TestNode/ModuleStateNextTest.cs diff --git a/Substrate.NetApi.TestNode/ModuleStateNextTest.cs b/Substrate.NetApi.TestNode/ModuleStateNextTest.cs new file mode 100644 index 0000000..83e1070 --- /dev/null +++ b/Substrate.NetApi.TestNode/ModuleStateNextTest.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Newtonsoft.Json.Linq; +using NUnit.Framework; +using StreamJsonRpc; +using Substrate.NetApi.Model.Rpc; +using Substrate.NetApi.Model.Types.Base; +using Substrate.NetApi.Model.Types.Primitive; + +namespace Substrate.NetApi.TestNode +{ + public class ModuleStateNextTest : NodeTest + { + public ModuleStateNextTest() + : base("wss://hydradx-rpc.dwellir.com") { } + + [Test] + public async Task GetBlockAsyncTestAsync() + { + var result = await _substrateClient.Chain.GetBlockAsync(new Hash("0x467fb6268675b96e707df72d382c14da0045ebc553edd9850414560053870b09"), CancellationToken.None); + + Assert.IsNotNull(result); + } + + [Test] + public async Task GetKeysPagedAtTestAsync() + { + var parameters = RequestGenerator.GetStorage("System", "Number", + Model.Meta.Storage.Type.Plain); + + var currentBlocknumber = await _substrateClient.GetStorageAsync(parameters, CancellationToken.None); + + var blockNumber = new BlockNumber(); + blockNumber.Create(currentBlocknumber.Value); + + var blockHash = await _substrateClient.Chain.GetBlockHashAsync(blockNumber); + + var result = await _substrateClient.State.GetKeysPagedAsync(RequestGenerator.GetStorageKeyBytesHash("System", "BlockHash"), 10, null, blockHash.Bytes, CancellationToken.None); + + Assert.IsNotNull(result); + Assert.AreEqual(10, result.Count); + } + + [Test] + [TestCase("0x467fb6268675b96e707df72d382c14da0045ebc553edd9850414560053870b09")] + public async Task GetStorageAt_ShouldWorkAsync(string storageKeyHex) + { + var blockHash = await GivenBlockAsync(); + var storageKeys = Utils.HexToByteArray(storageKeyHex); + + var call_1 = await _substrateClient.State.GetStorageAsync(storageKeys, blockHash, CancellationToken.None); + var call_2 = await _substrateClient.State.GetStorageAsync(storageKeys, Utils.Bytes2HexString(blockHash), CancellationToken.None); + + Assert.That(call_1, Is.Not.Null); + Assert.That(call_2, Is.Not.Null); + Assert.That(call_1, Is.EqualTo(call_2)); + } + + } +} \ No newline at end of file diff --git a/Substrate.NetApi.TestNode/NodeTest.cs b/Substrate.NetApi.TestNode/NodeTest.cs index 3f1ecaa..4a0d3b4 100644 --- a/Substrate.NetApi.TestNode/NodeTest.cs +++ b/Substrate.NetApi.TestNode/NodeTest.cs @@ -17,6 +17,12 @@ public abstract class NodeTest protected SubstrateClient _substrateClient; + public string Url { get; } + + protected NodeTest(string url = null) + { + Url = url ?? WebSocketUrl; + } [SetUp] public async Task ConnectAsync() @@ -33,7 +39,7 @@ public async Task CloseAsync() [OneTimeSetUp] public void CreateClient() { - _substrateClient = new SubstrateClient(new Uri(WebSocketUrl), ChargeTransactionPayment.Default()); + _substrateClient = new SubstrateClient(new Uri(Url), ChargeTransactionPayment.Default()); } [OneTimeTearDown] diff --git a/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs b/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs index baad423..33e7aa0 100644 --- a/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs +++ b/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs @@ -57,7 +57,7 @@ public void Decode(byte[] byteArray, ref int p) { var start = p; - var length = Reverse(byteArray[0]); + var length = Reverse(byteArray[p]); p++; From 3ac5f382aa19d71503642ad7b431412319fc9deb Mon Sep 17 00:00:00 2001 From: Cedric Decoster Date: Mon, 30 Sep 2024 08:56:34 +0200 Subject: [PATCH 2/8] Reverse and FromBitString and ToBitString moved to static utils. --- .../TypeConverters/BaseTypesTest.cs | 24 +++----- .../Model/Types/Base/BaseBitSeq.cs | 58 +++++++------------ Substrate.NetApi/Substrate.NetApi.csproj | 2 +- Substrate.NetApi/Utils.cs | 55 ++++++++++++++++++ 4 files changed, 85 insertions(+), 54 deletions(-) diff --git a/Substrate.NetApi.Test/TypeConverters/BaseTypesTest.cs b/Substrate.NetApi.Test/TypeConverters/BaseTypesTest.cs index a908e96..7dba339 100644 --- a/Substrate.NetApi.Test/TypeConverters/BaseTypesTest.cs +++ b/Substrate.NetApi.Test/TypeConverters/BaseTypesTest.cs @@ -5,6 +5,7 @@ using NUnit.Framework; using System.Collections.Generic; using Newtonsoft.Json.Linq; +using Microsoft.VisualStudio.TestPlatform.ObjectModel; namespace Substrate.NetApi.Test { @@ -191,8 +192,8 @@ public void BaseOptTest() public void BaseBitSeqTest() { var testCase1 = "0xa00b80050000"; - var bitSeqTest1 = FromBitString("0b11010000_00000001_10100000_00000000_00000000"); - var baseBitSeq1 = new BaseBitSeq(); + var bitSeqTest1 = Utils.FromBitString("0b11010000_00000001_10100000_00000000_00000000"); + var baseBitSeq1 = new BaseBitSeq(); baseBitSeq1.Create(testCase1); for (int i = 0; i < bitSeqTest1.Length; i++) { @@ -201,14 +202,14 @@ public void BaseBitSeqTest() Assert.AreEqual(testCase1, Utils.Bytes2HexString(baseBitSeq1.Encode()).ToLower()); // Let's create the same object but with the other Create() method - var baseBitSeq1_1 = new BaseBitSeq(); - baseBitSeq1_1.Create(baseBitSeq1.Value); + var baseBitSeq1_1 = new BaseBitSeq(); + baseBitSeq1_1.Create(baseBitSeq1.Value, BitOrder.Lsb0); Assert.AreEqual(baseBitSeq1.Bytes, baseBitSeq1_1.Bytes); Assert.AreEqual(baseBitSeq1.Value, baseBitSeq1_1.Value); Assert.AreEqual(baseBitSeq1.TypeSize, baseBitSeq1_1.TypeSize); - var bitSeqTest2 = FromBitString("0b10000010_10000010_00101000_00000000_00000000"); - var baseBitSeq2 = new BaseBitSeq(); + var bitSeqTest2 = Utils.FromBitString("0b10000010_10000010_00101000_00000000_00000000"); + var baseBitSeq2 = new BaseBitSeq(); baseBitSeq2.Create("0xa04141140000"); for (int i = 0; i < bitSeqTest1.Length; i++) { @@ -217,17 +218,6 @@ public void BaseBitSeqTest() Assert.AreEqual("0xa04141140000", Utils.Bytes2HexString(baseBitSeq2.Encode()).ToLower()); } - private byte[] FromBitString(string str) - { - var s = str.Replace("0b", "").Split('_'); - var result = new byte[s.Length]; - for (int i = 0; i < s.Length; i++) - { - result[i] = Convert.ToByte(s[i], 2); - } - return result; - } - [Test] public void BaseComTest() { diff --git a/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs b/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs index 33e7aa0..1330f1d 100644 --- a/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs +++ b/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs @@ -4,21 +4,34 @@ namespace Substrate.NetApi.Model.Types.Base { + /// + /// Bit Order + /// + public enum BitOrder + { + Lsb0, // Least Significant Bit first + Msb0 // Most Significant Bit first + } + /// /// This implemetation is just a fast hack, and misses to be complete. /// TODO: rework proper implementation https://docs.rs/bitvec/latest/bitvec/ /// /// /// - public class BaseBitSeq : IType + public class BaseBitSeq : IType where T1 : IType, new() - where T2 : IType, new() { + /// + /// Bit Order (Msb0 or Lsb0). + /// + public BitOrder BitOrder { get; private set; } + /// /// Type Name /// /// - public virtual string TypeName() => $"BitSequence<{new T1().TypeName()},{new T2().TypeName()}>"; + public virtual string TypeName() => $"BitSequence<{new T1().TypeName()},{BitOrder}>"; /// /// Type Size @@ -39,11 +52,11 @@ public byte[] Encode() { var result = new List { - Reverse((byte)Value.Length) + Utils.Reverse((byte)Value.Length) }; for (int i = 0; i < Value.Length; i++) { - result.AddRange(Reverse(Value[i].Encode())); + result.AddRange(Utils.Reverse(Value[i].Encode())); } return result.ToArray(); } @@ -57,7 +70,7 @@ public void Decode(byte[] byteArray, ref int p) { var start = p; - var length = Reverse(byteArray[p]); + var length = Utils.Reverse(byteArray[p]); p++; @@ -65,7 +78,7 @@ public void Decode(byte[] byteArray, ref int p) for (var i = 0; i < length; i++) { var t = new T1(); - t.Decode(Reverse(byteArray), ref p); + t.Decode(Utils.Reverse(byteArray), ref p); array[i] = t; } @@ -85,11 +98,12 @@ public void Decode(byte[] byteArray, ref int p) /// Create from a string /// /// - public void Create(T1[] list) + public void Create(T1[] list, BitOrder bitOrder) { Value = list; Bytes = Encode(); TypeSize = Bytes.Length; + BitOrder = bitOrder; } /// @@ -123,33 +137,5 @@ public void Create(byte[] byteArray) /// public override string ToString() => JsonConvert.SerializeObject(this); - /// - /// Reverse - /// - /// - /// - public byte[] Reverse(byte[] b) - { - byte[] p = new byte[b.Length]; - for (int i = 0; i < b.Length; i++) - { - p[i] = Reverse(b[i]); - } - return p; - } - - /// - /// Reverse - /// - /// - /// - public byte Reverse(byte b) - { - int a = 0; - for (int i = 0; i < 8; i++) - if ((b & (1 << i)) != 0) - a |= 1 << (7 - i); - return (byte)a; - } } } \ No newline at end of file diff --git a/Substrate.NetApi/Substrate.NetApi.csproj b/Substrate.NetApi/Substrate.NetApi.csproj index 7163616..47127c5 100644 --- a/Substrate.NetApi/Substrate.NetApi.csproj +++ b/Substrate.NetApi/Substrate.NetApi.csproj @@ -3,7 +3,7 @@ Substrate.NET.API netstandard2.0;netstandard2.1;net6.0 - 0.9.24-rc6 + 0.9.24-rc7 Substrate Gaming Substrate Gaming true diff --git a/Substrate.NetApi/Utils.cs b/Substrate.NetApi/Utils.cs index 1406772..66341c0 100644 --- a/Substrate.NetApi/Utils.cs +++ b/Substrate.NetApi/Utils.cs @@ -317,5 +317,60 @@ public static string GetAddressFrom(byte[] bytes, short ss58Prefix = 42) return Base58Local.Encode(plainAddr); } + /// + /// Reverse + /// + /// + /// + public static byte[] Reverse(byte[] b) + { + byte[] p = new byte[b.Length]; + for (int i = 0; i < b.Length; i++) + { + p[i] = Reverse(b[i]); + } + return p; + } + + /// + /// Reverse + /// + /// + /// + public static byte Reverse(byte b) + { + int a = 0; + for (int i = 0; i < 8; i++) + if ((b & (1 << i)) != 0) + a |= 1 << (7 - i); + return (byte)a; + } + + /// + /// Convert a bit string to a byte array + /// + /// + /// + public static byte[] FromBitString(string str) + { + var s = str.Replace("0b", "").Split('_'); + var result = new byte[s.Length]; + for (int i = 0; i < s.Length; i++) + { + result[i] = Convert.ToByte(s[i], 2); + } + return result; + } + + /// + /// Convert a byte array to a bit string + /// + /// + /// + public static string ToBitString(byte[] bytes) + { + var bitStrings = bytes.Select(b => Convert.ToString(b, 2).PadLeft(8, '0')); + return "0b" + string.Join("_", bitStrings); + } } } \ No newline at end of file From cbd1b6c1805151abeb67e954c8be1c8441be76fe Mon Sep 17 00:00:00 2001 From: Cedric Decoster Date: Mon, 30 Sep 2024 08:57:19 +0200 Subject: [PATCH 3/8] fixed comment --- Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs b/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs index 1330f1d..1b07e64 100644 --- a/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs +++ b/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs @@ -9,8 +9,15 @@ namespace Substrate.NetApi.Model.Types.Base /// public enum BitOrder { - Lsb0, // Least Significant Bit first - Msb0 // Most Significant Bit first + /// + /// Least Significant Bit first + /// + Lsb0, + + /// + /// Most Significant Bit first + /// + Msb0 } /// From ad79279bcb84867951070635f34df12994b75971 Mon Sep 17 00:00:00 2001 From: Cedric Decoster Date: Mon, 30 Sep 2024 08:57:37 +0200 Subject: [PATCH 4/8] fixed comment --- Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs b/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs index 1b07e64..eaf8807 100644 --- a/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs +++ b/Substrate.NetApi/Model/Types/Base/BaseBitSeq.cs @@ -25,7 +25,6 @@ public enum BitOrder /// TODO: rework proper implementation https://docs.rs/bitvec/latest/bitvec/ /// /// - /// public class BaseBitSeq : IType where T1 : IType, new() { From c060491243f738f2856c8da6bc7ea224f5028b1b Mon Sep 17 00:00:00 2001 From: Cedric Decoster Date: Mon, 14 Oct 2024 15:34:49 +0200 Subject: [PATCH 5/8] fixed for versions bigger then NET2.0 #97 --- Substrate.NetApi/Model/Types/Primitive/U256.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Substrate.NetApi/Model/Types/Primitive/U256.cs b/Substrate.NetApi/Model/Types/Primitive/U256.cs index 60afd13..ae46f19 100644 --- a/Substrate.NetApi/Model/Types/Primitive/U256.cs +++ b/Substrate.NetApi/Model/Types/Primitive/U256.cs @@ -77,7 +77,11 @@ public override void Create(byte[] byteArray) } Bytes = byteArray; +#if NETSTANDARD2_0 Value = new BigInteger(byteArray); +#elif NETSTANDARD2_1_OR_GREATER + Value = new BigInteger(byteArray, isUnsigned: true, isBigEndian: true); +#endif } /// From a47945da924b4b6bda88b8b098a4d8e6a7cab565 Mon Sep 17 00:00:00 2001 From: Cedric Decoster Date: Mon, 14 Oct 2024 16:31:17 +0200 Subject: [PATCH 6/8] added the negative number test --- .../TypeConverters/PrimitiveTypesTest.cs | 10 ++++++++ .../Model/Types/Primitive/U256.cs | 24 +++++++++---------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/Substrate.NetApi.Test/TypeConverters/PrimitiveTypesTest.cs b/Substrate.NetApi.Test/TypeConverters/PrimitiveTypesTest.cs index e955045..6c554e9 100644 --- a/Substrate.NetApi.Test/TypeConverters/PrimitiveTypesTest.cs +++ b/Substrate.NetApi.Test/TypeConverters/PrimitiveTypesTest.cs @@ -3,6 +3,8 @@ using Substrate.NetApi.Model.Types.Primitive; using NUnit.Framework; using Newtonsoft.Json.Linq; +using System.Linq; +using System.Net; namespace Substrate.NetApi.Test { @@ -232,6 +234,14 @@ public void PrimU256Test() BigInteger primImplicit = new U256(value); Assert.AreEqual(value, primImplicit); + + var testArray = Utils.GetPublicKeyFrom("unixuHLc4UoAjwLpkQHUWy2NpT5LV4tUqJFnFVNyLaeqBfq22").Reverse().ToArray(); + + var test = new U256(); + test.Create(testArray); + + Assert.AreEqual("88948098633472856107773808278376342488924045139856962685537580476255925753211", test.Value.ToString()); + Assert.IsTrue(test.Bytes.SequenceEqual(testArray)); } [Test] diff --git a/Substrate.NetApi/Model/Types/Primitive/U256.cs b/Substrate.NetApi/Model/Types/Primitive/U256.cs index ae46f19..633174c 100644 --- a/Substrate.NetApi/Model/Types/Primitive/U256.cs +++ b/Substrate.NetApi/Model/Types/Primitive/U256.cs @@ -58,30 +58,30 @@ public override void CreateFromJson(string str) /// public override void Create(byte[] byteArray) { + byte[] newByteArray = new byte[32]; // make sure it is unsigned we add 00 at the end if (byteArray.Length < TypeSize) { - var newByteArray = new byte[TypeSize]; + newByteArray = new byte[TypeSize]; byteArray.CopyTo(newByteArray, 0); byteArray = newByteArray; } - else if (byteArray.Length == TypeSize) + else if (byteArray.Length > TypeSize) { - byte[] newArray = new byte[byteArray.Length + 2]; - byteArray.CopyTo(newArray, 0); - newArray[byteArray.Length - 1] = 0x00; + throw new NotSupportedException($"Wrong byte array size for {TypeName()}, max. {TypeSize} bytes!"); } - else + + newByteArray = byteArray; + + if ((byteArray[TypeSize - 1] & 0x80) != 0) { - throw new NotSupportedException($"Wrong byte array size for {TypeName()}, max. {TypeSize} bytes!"); + newByteArray = new byte[byteArray.Length + 1]; + byteArray.CopyTo(newByteArray, 0); + //byteArray = newByteArray; // leaves us with a inconsistency. } Bytes = byteArray; -#if NETSTANDARD2_0 - Value = new BigInteger(byteArray); -#elif NETSTANDARD2_1_OR_GREATER - Value = new BigInteger(byteArray, isUnsigned: true, isBigEndian: true); -#endif + Value = new BigInteger(newByteArray); } /// From 192baea4a628365f38d89bbca29b25bc1b9a1ad0 Mon Sep 17 00:00:00 2001 From: Cedric Decoster Date: Sat, 9 Nov 2024 14:05:35 +0100 Subject: [PATCH 7/8] next release --- Substrate.NetApi/Substrate.NetApi.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Substrate.NetApi/Substrate.NetApi.csproj b/Substrate.NetApi/Substrate.NetApi.csproj index 47127c5..52b1382 100644 --- a/Substrate.NetApi/Substrate.NetApi.csproj +++ b/Substrate.NetApi/Substrate.NetApi.csproj @@ -3,7 +3,7 @@ Substrate.NET.API netstandard2.0;netstandard2.1;net6.0 - 0.9.24-rc7 + 0.9.25 Substrate Gaming Substrate Gaming true From 8bf12a63670afa114d434abfe8ec64fa48a4d6ad Mon Sep 17 00:00:00 2001 From: Cedric Decoster Date: Sat, 9 Nov 2024 14:28:45 +0100 Subject: [PATCH 8/8] removed old enum extension from usage --- .../TypeConverters/TypeEncodingTest.cs | 128 +- .../Model/Extrinsics/ChargeAssetTxPayment.cs | 14 +- Substrate.NetApi/Model/Meta/Storage.cs | 10 - .../Model/Types/Base/BaseEnumExt.cs | 17131 ----- .../Model/Types/Base/BaseEnumExt2.cs | 57548 ---------------- .../Model/Types/Base/BaseEnumExt3.cs | 9088 --- .../Base/Portable/TypePortableForm.cs | 18 +- .../Metadata/Base/StorageEntryMetadata.cs | 11 +- Substrate.NetApi/Substrate.NetApi.csproj | 2 +- 9 files changed, 125 insertions(+), 83825 deletions(-) delete mode 100644 Substrate.NetApi/Model/Types/Base/BaseEnumExt.cs delete mode 100644 Substrate.NetApi/Model/Types/Base/BaseEnumExt2.cs delete mode 100644 Substrate.NetApi/Model/Types/Base/BaseEnumExt3.cs diff --git a/Substrate.NetApi.Test/TypeConverters/TypeEncodingTest.cs b/Substrate.NetApi.Test/TypeConverters/TypeEncodingTest.cs index ab1aca7..42e9013 100644 --- a/Substrate.NetApi.Test/TypeConverters/TypeEncodingTest.cs +++ b/Substrate.NetApi.Test/TypeConverters/TypeEncodingTest.cs @@ -3,6 +3,7 @@ using Substrate.NetApi.Model.Types.Primitive; using Substrate.NetApi.TypeConverters; using NUnit.Framework; +using System; namespace Substrate.NetApi.Test { @@ -112,11 +113,22 @@ public enum PhaseState [Test] public void ExtEnumEncodingTest() { - var extEnumType = new BaseEnumExt(); + // Set up type decoder map for PhaseState + var typeDecoderMap = new Dictionary + { + { PhaseState.None, typeof(U8) }, + { PhaseState.Finalization, typeof(BaseVoid) }, + { PhaseState.Initialization, typeof(BaseVoid) } + }; + // Initialize BaseEnumRust with the decoder map + var extEnumType = new BaseEnumRust(typeDecoderMap); + + // Decode the input data int p = 0; extEnumType.Decode(new byte[] { 0x00, 0x01 }, ref p); + // Assertions to verify values Assert.AreEqual(PhaseState.None, extEnumType.Value); Assert.AreEqual("U8", extEnumType.Value2.GetType().Name); Assert.AreEqual(1, (extEnumType.Value2 as U8).Value); @@ -125,45 +137,75 @@ public void ExtEnumEncodingTest() [Test] public void ExtEnumDencodingTest() { - var extEnumType = new BaseEnumExt(); + // Set up type decoder map for PhaseState + var typeDecoderMap = new Dictionary + { + { PhaseState.None, typeof(U8) }, + { PhaseState.Finalization, typeof(BaseVoid) }, + { PhaseState.Initialization, typeof(BaseVoid) } + }; + + // Initialize BaseEnumRust with the decoder map + var extEnumType = new BaseEnumRust(typeDecoderMap); + // Decode the input data int p = 0; extEnumType.Decode(new byte[] { 0x00, 0x01 }, ref p); + // Assertions to verify values Assert.AreEqual(PhaseState.None, extEnumType.Value); Assert.AreEqual("U8", extEnumType.Value2.GetType().Name); Assert.AreEqual(1, (extEnumType.Value2 as U8).Value); + // Verify the bytes are preserved correctly Assert.AreEqual(new byte[] { 0x00, 0x01 }, extEnumType.Bytes); } [Test] public void ExtEnumCreateTest() { - var u8 = new U8(1); - - var vecExtEnumTypeFromCreateValue = new BaseEnumExt(); - vecExtEnumTypeFromCreateValue.Create(PhaseState.None, u8); - - var vecExtEnumTypeFromCreateByteArray = new BaseEnumExt(); - vecExtEnumTypeFromCreateByteArray.Create(new byte[] { 0, 1 }); - - var vecExtEnumTypeFromCreateHex = new BaseEnumExt(); - vecExtEnumTypeFromCreateHex.Create("0x0001"); - - Assert.That(vecExtEnumTypeFromCreateValue.Bytes, Is.EqualTo(vecExtEnumTypeFromCreateByteArray.Bytes)); - Assert.That(vecExtEnumTypeFromCreateValue.Value, Is.EqualTo(vecExtEnumTypeFromCreateByteArray.Value)); - + var typeDecoderMap = new Dictionary + { + { PhaseState.None, typeof(U8) }, + { PhaseState.Finalization, typeof(BaseVoid) }, + { PhaseState.Initialization, typeof(BaseVoid) } + }; - Assert.That(vecExtEnumTypeFromCreateValue.Bytes, Is.EqualTo(vecExtEnumTypeFromCreateHex.Bytes)); - Assert.That(vecExtEnumTypeFromCreateValue.Value, Is.EqualTo(vecExtEnumTypeFromCreateHex.Value)); + // Create instance using enum value and U8 value + var u8 = new U8(1); + var byValue = new BaseEnumRust(typeDecoderMap); + byValue.Create(PhaseState.None, u8); + + // Create instance using byte array + var byArray = new BaseEnumRust(typeDecoderMap); + byArray.Create(new byte[] { 0x00, 0x01 }); + + // Create instance using hex string + var byHex = new BaseEnumRust(typeDecoderMap); + byHex.Create("0x0001"); + + // Assert equality between different creation methods + Assert.That(byValue.Bytes, Is.EqualTo(byArray.Bytes)); + Assert.That(byValue.Value, Is.EqualTo(byArray.Value)); + Assert.That(byValue.Bytes, Is.EqualTo(byHex.Bytes)); + Assert.That(byValue.Value, Is.EqualTo(byHex.Value)); } [Test] - public void ExtEnumXXX() + public void ExtEnumXXX_NewTest() { - var vecExtEnumType = new BaseVec>, BaseVoid, BaseVoid, BaseVoid, BaseVoid, BaseVoid, BaseVoid, BaseVoid, BaseVoid>>(); + // Create the type decoder map for PhaseState + var typeDecoderMap = new Dictionary + { + { PhaseState.None, typeof(BaseTuple>) }, + { PhaseState.Finalization, typeof(BaseVoid) }, + { PhaseState.Initialization, typeof(BaseVoid) } + }; + + // Initialize the enum wrapper + var baseEnum = new BaseEnumRust(typeDecoderMap); + // Prepare values var u8 = new U8(); u8.Create(byte.MaxValue); @@ -173,17 +215,16 @@ public void ExtEnumXXX() var vec82 = new BaseVec(); vec82.Create(new U8[] { u8 }); - var tu = new BaseTuple>(); - tu.Create(vec8, vec82); - - var it = new BaseEnumExt>, BaseVoid, BaseVoid, BaseVoid, BaseVoid, BaseVoid, BaseVoid, BaseVoid, BaseVoid>(); - it.Create(PhaseState.None, tu); + var tuple = new BaseTuple>(); + tuple.Create(vec8, vec82); - vecExtEnumType.Create(new[] { it }); + // Create with PhaseState.None and tuple value + baseEnum.Create(PhaseState.None, tuple); - var encoded = vecExtEnumType.Encode(); + // Encode and decode + var encoded = baseEnum.Encode(); int p = 0; - vecExtEnumType.Decode(encoded, ref p); + baseEnum.Decode(encoded, ref p); Assert.Pass(); } @@ -194,27 +235,34 @@ internal enum TestEnum26 } [Test] - public void ExtEnum26() + public void ExtEnum26_NewTest() { - var ext1 = new BaseEnumExt(); + // Create the type decoder map for TestEnum26 + var typeDecoderMap = new Dictionary + { + { TestEnum26.T1, typeof(U8) }, + { TestEnum26.T2, typeof(U16) }, + // Add other mappings as needed + }; - var u8 = new U8(); - u8.Create(byte.MaxValue); + // Initialize BaseEnumRust + var baseEnum = new BaseEnumRust(typeDecoderMap); + // Create U16 value var u16 = new U16(); u16.Create(ushort.MaxValue); - ext1.Create(TestEnum26.T2, u16); - - var encoded = ext1.Encode(); - - var ext2 = new BaseEnumExt(); + // Create an instance with TestEnum26.T2 + baseEnum.Create(TestEnum26.T2, u16); + // Encode and decode + var encoded = baseEnum.Encode(); int p = 0; - ext2.Decode(encoded, ref p); + baseEnum.Decode(encoded, ref p); - Assert.AreEqual(TestEnum26.T2, ext2.Value); - Assert.AreEqual(ushort.MaxValue, ((U16)ext2.Value2).Value); + // Assertions + Assert.AreEqual(TestEnum26.T2, baseEnum.Value); + Assert.AreEqual(ushort.MaxValue, ((U16)baseEnum.Value2).Value); } [Test] diff --git a/Substrate.NetApi/Model/Extrinsics/ChargeAssetTxPayment.cs b/Substrate.NetApi/Model/Extrinsics/ChargeAssetTxPayment.cs index 8957132..fe5c727 100644 --- a/Substrate.NetApi/Model/Extrinsics/ChargeAssetTxPayment.cs +++ b/Substrate.NetApi/Model/Extrinsics/ChargeAssetTxPayment.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using Substrate.NetApi.Model.Types.Base; using Substrate.NetApi.Model.Types.Primitive; @@ -29,11 +30,18 @@ public enum NativeOrWithId /// /// Asset Identifier for AssetHubs and the Ajuna Chain. /// - public sealed class EnumNativeOrWithId : BaseEnumExt + public sealed class EnumNativeOrWithId : BaseEnumRust { + /// + /// EnumNativeOrWithId Constructor + /// + public EnumNativeOrWithId() : base(new Dictionary + { + { NativeOrWithId.Native, typeof(BaseVoid) }, + { NativeOrWithId.WithId, typeof(U32) } + }) { } } - /// /// Charge Asset Tx Payment /// diff --git a/Substrate.NetApi/Model/Meta/Storage.cs b/Substrate.NetApi/Model/Meta/Storage.cs index cf978af..9e23162 100644 --- a/Substrate.NetApi/Model/Meta/Storage.cs +++ b/Substrate.NetApi/Model/Meta/Storage.cs @@ -19,16 +19,6 @@ public enum Type /// Map /// Map, - - /// - /// Double Map - /// - DoubleMap, - - /// - /// NMap - /// - NMap } /// diff --git a/Substrate.NetApi/Model/Types/Base/BaseEnumExt.cs b/Substrate.NetApi/Model/Types/Base/BaseEnumExt.cs deleted file mode 100644 index e54be78..0000000 --- a/Substrate.NetApi/Model/Types/Base/BaseEnumExt.cs +++ /dev/null @@ -1,17131 +0,0 @@ -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using System; -using System.Collections.Generic; - -namespace Substrate.NetApi.Model.Types.Base -{ - /// - /// Base Enum Extended Type - /// - public abstract class BaseEnumType : BaseType - { - /// - /// Decode Type - /// - /// - /// - /// - /// - public static IType DecodeType(byte[] byteArray, ref int p) where T : IType, new() - { - if (typeof(T) == typeof(BaseVoid)) - return null; - var result = new T(); - result.Decode(byteArray, ref p); - return result; - } - } - - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - -} \ No newline at end of file diff --git a/Substrate.NetApi/Model/Types/Base/BaseEnumExt2.cs b/Substrate.NetApi/Model/Types/Base/BaseEnumExt2.cs deleted file mode 100644 index 1dee48b..0000000 --- a/Substrate.NetApi/Model/Types/Base/BaseEnumExt2.cs +++ /dev/null @@ -1,57548 +0,0 @@ -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using System; -using System.Collections.Generic; - -namespace Substrate.NetApi.Model.Types.Base -{ - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } -} \ No newline at end of file diff --git a/Substrate.NetApi/Model/Types/Base/BaseEnumExt3.cs b/Substrate.NetApi/Model/Types/Base/BaseEnumExt3.cs deleted file mode 100644 index 51e13d7..0000000 --- a/Substrate.NetApi/Model/Types/Base/BaseEnumExt3.cs +++ /dev/null @@ -1,9088 +0,0 @@ -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using System; -using System.Collections.Generic; - -namespace Substrate.NetApi.Model.Types.Base -{ - - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - - /* UNITY IL2CPP BUG - - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - where T249 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - case 0xF8: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - where T249 : IType, new() - where T250 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - case 0xF8: return DecodeType(byteArray, ref p); - case 0xF9: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - where T249 : IType, new() - where T250 : IType, new() - where T251 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - case 0xF8: return DecodeType(byteArray, ref p); - case 0xF9: return DecodeType(byteArray, ref p); - case 0xFA: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - where T249 : IType, new() - where T250 : IType, new() - where T251 : IType, new() - where T252 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - case 0xF8: return DecodeType(byteArray, ref p); - case 0xF9: return DecodeType(byteArray, ref p); - case 0xFA: return DecodeType(byteArray, ref p); - case 0xFB: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - where T249 : IType, new() - where T250 : IType, new() - where T251 : IType, new() - where T252 : IType, new() - where T253 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - case 0xF8: return DecodeType(byteArray, ref p); - case 0xF9: return DecodeType(byteArray, ref p); - case 0xFA: return DecodeType(byteArray, ref p); - case 0xFB: return DecodeType(byteArray, ref p); - case 0xFC: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - where T249 : IType, new() - where T250 : IType, new() - where T251 : IType, new() - where T252 : IType, new() - where T253 : IType, new() - where T254 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - case 0xF8: return DecodeType(byteArray, ref p); - case 0xF9: return DecodeType(byteArray, ref p); - case 0xFA: return DecodeType(byteArray, ref p); - case 0xFB: return DecodeType(byteArray, ref p); - case 0xFC: return DecodeType(byteArray, ref p); - case 0xFD: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - where T249 : IType, new() - where T250 : IType, new() - where T251 : IType, new() - where T252 : IType, new() - where T253 : IType, new() - where T254 : IType, new() - where T255 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - case 0xF8: return DecodeType(byteArray, ref p); - case 0xF9: return DecodeType(byteArray, ref p); - case 0xFA: return DecodeType(byteArray, ref p); - case 0xFB: return DecodeType(byteArray, ref p); - case 0xFC: return DecodeType(byteArray, ref p); - case 0xFD: return DecodeType(byteArray, ref p); - case 0xFE: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - - */ - - /// - public class BaseEnumExt : BaseEnumType - where T0 : Enum - where T1 : IType, new() - where T2 : IType, new() - where T3 : IType, new() - where T4 : IType, new() - where T5 : IType, new() - where T6 : IType, new() - where T7 : IType, new() - where T8 : IType, new() - where T9 : IType, new() - where T10 : IType, new() - where T11 : IType, new() - where T12 : IType, new() - where T13 : IType, new() - where T14 : IType, new() - where T15 : IType, new() - where T16 : IType, new() - where T17 : IType, new() - where T18 : IType, new() - where T19 : IType, new() - where T20 : IType, new() - where T21 : IType, new() - where T22 : IType, new() - where T23 : IType, new() - where T24 : IType, new() - where T25 : IType, new() - where T26 : IType, new() - where T27 : IType, new() - where T28 : IType, new() - where T29 : IType, new() - where T30 : IType, new() - where T31 : IType, new() - where T32 : IType, new() - where T33 : IType, new() - where T34 : IType, new() - where T35 : IType, new() - where T36 : IType, new() - where T37 : IType, new() - where T38 : IType, new() - where T39 : IType, new() - where T40 : IType, new() - where T41 : IType, new() - where T42 : IType, new() - where T43 : IType, new() - where T44 : IType, new() - where T45 : IType, new() - where T46 : IType, new() - where T47 : IType, new() - where T48 : IType, new() - where T49 : IType, new() - where T50 : IType, new() - where T51 : IType, new() - where T52 : IType, new() - where T53 : IType, new() - where T54 : IType, new() - where T55 : IType, new() - where T56 : IType, new() - where T57 : IType, new() - where T58 : IType, new() - where T59 : IType, new() - where T60 : IType, new() - where T61 : IType, new() - where T62 : IType, new() - where T63 : IType, new() - where T64 : IType, new() - where T65 : IType, new() - where T66 : IType, new() - where T67 : IType, new() - where T68 : IType, new() - where T69 : IType, new() - where T70 : IType, new() - where T71 : IType, new() - where T72 : IType, new() - where T73 : IType, new() - where T74 : IType, new() - where T75 : IType, new() - where T76 : IType, new() - where T77 : IType, new() - where T78 : IType, new() - where T79 : IType, new() - where T80 : IType, new() - where T81 : IType, new() - where T82 : IType, new() - where T83 : IType, new() - where T84 : IType, new() - where T85 : IType, new() - where T86 : IType, new() - where T87 : IType, new() - where T88 : IType, new() - where T89 : IType, new() - where T90 : IType, new() - where T91 : IType, new() - where T92 : IType, new() - where T93 : IType, new() - where T94 : IType, new() - where T95 : IType, new() - where T96 : IType, new() - where T97 : IType, new() - where T98 : IType, new() - where T99 : IType, new() - where T100 : IType, new() - where T101 : IType, new() - where T102 : IType, new() - where T103 : IType, new() - where T104 : IType, new() - where T105 : IType, new() - where T106 : IType, new() - where T107 : IType, new() - where T108 : IType, new() - where T109 : IType, new() - where T110 : IType, new() - where T111 : IType, new() - where T112 : IType, new() - where T113 : IType, new() - where T114 : IType, new() - where T115 : IType, new() - where T116 : IType, new() - where T117 : IType, new() - where T118 : IType, new() - where T119 : IType, new() - where T120 : IType, new() - where T121 : IType, new() - where T122 : IType, new() - where T123 : IType, new() - where T124 : IType, new() - where T125 : IType, new() - where T126 : IType, new() - where T127 : IType, new() - where T128 : IType, new() - where T129 : IType, new() - where T130 : IType, new() - where T131 : IType, new() - where T132 : IType, new() - where T133 : IType, new() - where T134 : IType, new() - where T135 : IType, new() - where T136 : IType, new() - where T137 : IType, new() - where T138 : IType, new() - where T139 : IType, new() - where T140 : IType, new() - where T141 : IType, new() - where T142 : IType, new() - where T143 : IType, new() - where T144 : IType, new() - where T145 : IType, new() - where T146 : IType, new() - where T147 : IType, new() - where T148 : IType, new() - where T149 : IType, new() - where T150 : IType, new() - where T151 : IType, new() - where T152 : IType, new() - where T153 : IType, new() - where T154 : IType, new() - where T155 : IType, new() - where T156 : IType, new() - where T157 : IType, new() - where T158 : IType, new() - where T159 : IType, new() - where T160 : IType, new() - where T161 : IType, new() - where T162 : IType, new() - where T163 : IType, new() - where T164 : IType, new() - where T165 : IType, new() - where T166 : IType, new() - where T167 : IType, new() - where T168 : IType, new() - where T169 : IType, new() - where T170 : IType, new() - where T171 : IType, new() - where T172 : IType, new() - where T173 : IType, new() - where T174 : IType, new() - where T175 : IType, new() - where T176 : IType, new() - where T177 : IType, new() - where T178 : IType, new() - where T179 : IType, new() - where T180 : IType, new() - where T181 : IType, new() - where T182 : IType, new() - where T183 : IType, new() - where T184 : IType, new() - where T185 : IType, new() - where T186 : IType, new() - where T187 : IType, new() - where T188 : IType, new() - where T189 : IType, new() - where T190 : IType, new() - where T191 : IType, new() - where T192 : IType, new() - where T193 : IType, new() - where T194 : IType, new() - where T195 : IType, new() - where T196 : IType, new() - where T197 : IType, new() - where T198 : IType, new() - where T199 : IType, new() - where T200 : IType, new() - where T201 : IType, new() - where T202 : IType, new() - where T203 : IType, new() - where T204 : IType, new() - where T205 : IType, new() - where T206 : IType, new() - where T207 : IType, new() - where T208 : IType, new() - where T209 : IType, new() - where T210 : IType, new() - where T211 : IType, new() - where T212 : IType, new() - where T213 : IType, new() - where T214 : IType, new() - where T215 : IType, new() - where T216 : IType, new() - where T217 : IType, new() - where T218 : IType, new() - where T219 : IType, new() - where T220 : IType, new() - where T221 : IType, new() - where T222 : IType, new() - where T223 : IType, new() - where T224 : IType, new() - where T225 : IType, new() - where T226 : IType, new() - where T227 : IType, new() - where T228 : IType, new() - where T229 : IType, new() - where T230 : IType, new() - where T231 : IType, new() - where T232 : IType, new() - where T233 : IType, new() - where T234 : IType, new() - where T235 : IType, new() - where T236 : IType, new() - where T237 : IType, new() - where T238 : IType, new() - where T239 : IType, new() - where T240 : IType, new() - where T241 : IType, new() - where T242 : IType, new() - where T243 : IType, new() - where T244 : IType, new() - where T245 : IType, new() - where T246 : IType, new() - where T247 : IType, new() - where T248 : IType, new() - where T249 : IType, new() - where T250 : IType, new() - where T251 : IType, new() - where T252 : IType, new() - where T253 : IType, new() - where T254 : IType, new() - where T255 : IType, new() - where T256 : IType, new() - { - /// - public override string TypeName() => typeof(T0).Name; - - /// - public override byte[] Encode() - { - return Bytes; - } - - /// - public override void Decode(byte[] byteArray, ref int p) - { - var start = p; - var enumByte = byteArray[p]; - - Value = (T0)Enum.Parse(typeof(T0), enumByte.ToString(), true); - p += 1; - - Value2 = DecodeOneOf(enumByte, byteArray, ref p); - - TypeSize = p - start; - - Bytes = new byte[TypeSize]; - Array.Copy(byteArray, start, Bytes, 0, TypeSize); - } - - /// - /// BaseEnumExt DecodeOneOf - /// - private IType DecodeOneOf(byte value, byte[] byteArray, ref int p) - { - switch (value) - { - case 0x00: return DecodeType(byteArray, ref p); - case 0x01: return DecodeType(byteArray, ref p); - case 0x02: return DecodeType(byteArray, ref p); - case 0x03: return DecodeType(byteArray, ref p); - case 0x04: return DecodeType(byteArray, ref p); - case 0x05: return DecodeType(byteArray, ref p); - case 0x06: return DecodeType(byteArray, ref p); - case 0x07: return DecodeType(byteArray, ref p); - case 0x08: return DecodeType(byteArray, ref p); - case 0x09: return DecodeType(byteArray, ref p); - case 0x0A: return DecodeType(byteArray, ref p); - case 0x0B: return DecodeType(byteArray, ref p); - case 0x0C: return DecodeType(byteArray, ref p); - case 0x0D: return DecodeType(byteArray, ref p); - case 0x0E: return DecodeType(byteArray, ref p); - case 0x0F: return DecodeType(byteArray, ref p); - case 0x10: return DecodeType(byteArray, ref p); - case 0x11: return DecodeType(byteArray, ref p); - case 0x12: return DecodeType(byteArray, ref p); - case 0x13: return DecodeType(byteArray, ref p); - case 0x14: return DecodeType(byteArray, ref p); - case 0x15: return DecodeType(byteArray, ref p); - case 0x16: return DecodeType(byteArray, ref p); - case 0x17: return DecodeType(byteArray, ref p); - case 0x18: return DecodeType(byteArray, ref p); - case 0x19: return DecodeType(byteArray, ref p); - case 0x1A: return DecodeType(byteArray, ref p); - case 0x1B: return DecodeType(byteArray, ref p); - case 0x1C: return DecodeType(byteArray, ref p); - case 0x1D: return DecodeType(byteArray, ref p); - case 0x1E: return DecodeType(byteArray, ref p); - case 0x1F: return DecodeType(byteArray, ref p); - case 0x20: return DecodeType(byteArray, ref p); - case 0x21: return DecodeType(byteArray, ref p); - case 0x22: return DecodeType(byteArray, ref p); - case 0x23: return DecodeType(byteArray, ref p); - case 0x24: return DecodeType(byteArray, ref p); - case 0x25: return DecodeType(byteArray, ref p); - case 0x26: return DecodeType(byteArray, ref p); - case 0x27: return DecodeType(byteArray, ref p); - case 0x28: return DecodeType(byteArray, ref p); - case 0x29: return DecodeType(byteArray, ref p); - case 0x2A: return DecodeType(byteArray, ref p); - case 0x2B: return DecodeType(byteArray, ref p); - case 0x2C: return DecodeType(byteArray, ref p); - case 0x2D: return DecodeType(byteArray, ref p); - case 0x2E: return DecodeType(byteArray, ref p); - case 0x2F: return DecodeType(byteArray, ref p); - case 0x30: return DecodeType(byteArray, ref p); - case 0x31: return DecodeType(byteArray, ref p); - case 0x32: return DecodeType(byteArray, ref p); - case 0x33: return DecodeType(byteArray, ref p); - case 0x34: return DecodeType(byteArray, ref p); - case 0x35: return DecodeType(byteArray, ref p); - case 0x36: return DecodeType(byteArray, ref p); - case 0x37: return DecodeType(byteArray, ref p); - case 0x38: return DecodeType(byteArray, ref p); - case 0x39: return DecodeType(byteArray, ref p); - case 0x3A: return DecodeType(byteArray, ref p); - case 0x3B: return DecodeType(byteArray, ref p); - case 0x3C: return DecodeType(byteArray, ref p); - case 0x3D: return DecodeType(byteArray, ref p); - case 0x3E: return DecodeType(byteArray, ref p); - case 0x3F: return DecodeType(byteArray, ref p); - case 0x40: return DecodeType(byteArray, ref p); - case 0x41: return DecodeType(byteArray, ref p); - case 0x42: return DecodeType(byteArray, ref p); - case 0x43: return DecodeType(byteArray, ref p); - case 0x44: return DecodeType(byteArray, ref p); - case 0x45: return DecodeType(byteArray, ref p); - case 0x46: return DecodeType(byteArray, ref p); - case 0x47: return DecodeType(byteArray, ref p); - case 0x48: return DecodeType(byteArray, ref p); - case 0x49: return DecodeType(byteArray, ref p); - case 0x4A: return DecodeType(byteArray, ref p); - case 0x4B: return DecodeType(byteArray, ref p); - case 0x4C: return DecodeType(byteArray, ref p); - case 0x4D: return DecodeType(byteArray, ref p); - case 0x4E: return DecodeType(byteArray, ref p); - case 0x4F: return DecodeType(byteArray, ref p); - case 0x50: return DecodeType(byteArray, ref p); - case 0x51: return DecodeType(byteArray, ref p); - case 0x52: return DecodeType(byteArray, ref p); - case 0x53: return DecodeType(byteArray, ref p); - case 0x54: return DecodeType(byteArray, ref p); - case 0x55: return DecodeType(byteArray, ref p); - case 0x56: return DecodeType(byteArray, ref p); - case 0x57: return DecodeType(byteArray, ref p); - case 0x58: return DecodeType(byteArray, ref p); - case 0x59: return DecodeType(byteArray, ref p); - case 0x5A: return DecodeType(byteArray, ref p); - case 0x5B: return DecodeType(byteArray, ref p); - case 0x5C: return DecodeType(byteArray, ref p); - case 0x5D: return DecodeType(byteArray, ref p); - case 0x5E: return DecodeType(byteArray, ref p); - case 0x5F: return DecodeType(byteArray, ref p); - case 0x60: return DecodeType(byteArray, ref p); - case 0x61: return DecodeType(byteArray, ref p); - case 0x62: return DecodeType(byteArray, ref p); - case 0x63: return DecodeType(byteArray, ref p); - case 0x64: return DecodeType(byteArray, ref p); - case 0x65: return DecodeType(byteArray, ref p); - case 0x66: return DecodeType(byteArray, ref p); - case 0x67: return DecodeType(byteArray, ref p); - case 0x68: return DecodeType(byteArray, ref p); - case 0x69: return DecodeType(byteArray, ref p); - case 0x6A: return DecodeType(byteArray, ref p); - case 0x6B: return DecodeType(byteArray, ref p); - case 0x6C: return DecodeType(byteArray, ref p); - case 0x6D: return DecodeType(byteArray, ref p); - case 0x6E: return DecodeType(byteArray, ref p); - case 0x6F: return DecodeType(byteArray, ref p); - case 0x70: return DecodeType(byteArray, ref p); - case 0x71: return DecodeType(byteArray, ref p); - case 0x72: return DecodeType(byteArray, ref p); - case 0x73: return DecodeType(byteArray, ref p); - case 0x74: return DecodeType(byteArray, ref p); - case 0x75: return DecodeType(byteArray, ref p); - case 0x76: return DecodeType(byteArray, ref p); - case 0x77: return DecodeType(byteArray, ref p); - case 0x78: return DecodeType(byteArray, ref p); - case 0x79: return DecodeType(byteArray, ref p); - case 0x7A: return DecodeType(byteArray, ref p); - case 0x7B: return DecodeType(byteArray, ref p); - case 0x7C: return DecodeType(byteArray, ref p); - case 0x7D: return DecodeType(byteArray, ref p); - case 0x7E: return DecodeType(byteArray, ref p); - case 0x7F: return DecodeType(byteArray, ref p); - case 0x80: return DecodeType(byteArray, ref p); - case 0x81: return DecodeType(byteArray, ref p); - case 0x82: return DecodeType(byteArray, ref p); - case 0x83: return DecodeType(byteArray, ref p); - case 0x84: return DecodeType(byteArray, ref p); - case 0x85: return DecodeType(byteArray, ref p); - case 0x86: return DecodeType(byteArray, ref p); - case 0x87: return DecodeType(byteArray, ref p); - case 0x88: return DecodeType(byteArray, ref p); - case 0x89: return DecodeType(byteArray, ref p); - case 0x8A: return DecodeType(byteArray, ref p); - case 0x8B: return DecodeType(byteArray, ref p); - case 0x8C: return DecodeType(byteArray, ref p); - case 0x8D: return DecodeType(byteArray, ref p); - case 0x8E: return DecodeType(byteArray, ref p); - case 0x8F: return DecodeType(byteArray, ref p); - case 0x90: return DecodeType(byteArray, ref p); - case 0x91: return DecodeType(byteArray, ref p); - case 0x92: return DecodeType(byteArray, ref p); - case 0x93: return DecodeType(byteArray, ref p); - case 0x94: return DecodeType(byteArray, ref p); - case 0x95: return DecodeType(byteArray, ref p); - case 0x96: return DecodeType(byteArray, ref p); - case 0x97: return DecodeType(byteArray, ref p); - case 0x98: return DecodeType(byteArray, ref p); - case 0x99: return DecodeType(byteArray, ref p); - case 0x9A: return DecodeType(byteArray, ref p); - case 0x9B: return DecodeType(byteArray, ref p); - case 0x9C: return DecodeType(byteArray, ref p); - case 0x9D: return DecodeType(byteArray, ref p); - case 0x9E: return DecodeType(byteArray, ref p); - case 0x9F: return DecodeType(byteArray, ref p); - case 0xA0: return DecodeType(byteArray, ref p); - case 0xA1: return DecodeType(byteArray, ref p); - case 0xA2: return DecodeType(byteArray, ref p); - case 0xA3: return DecodeType(byteArray, ref p); - case 0xA4: return DecodeType(byteArray, ref p); - case 0xA5: return DecodeType(byteArray, ref p); - case 0xA6: return DecodeType(byteArray, ref p); - case 0xA7: return DecodeType(byteArray, ref p); - case 0xA8: return DecodeType(byteArray, ref p); - case 0xA9: return DecodeType(byteArray, ref p); - case 0xAA: return DecodeType(byteArray, ref p); - case 0xAB: return DecodeType(byteArray, ref p); - case 0xAC: return DecodeType(byteArray, ref p); - case 0xAD: return DecodeType(byteArray, ref p); - case 0xAE: return DecodeType(byteArray, ref p); - case 0xAF: return DecodeType(byteArray, ref p); - case 0xB0: return DecodeType(byteArray, ref p); - case 0xB1: return DecodeType(byteArray, ref p); - case 0xB2: return DecodeType(byteArray, ref p); - case 0xB3: return DecodeType(byteArray, ref p); - case 0xB4: return DecodeType(byteArray, ref p); - case 0xB5: return DecodeType(byteArray, ref p); - case 0xB6: return DecodeType(byteArray, ref p); - case 0xB7: return DecodeType(byteArray, ref p); - case 0xB8: return DecodeType(byteArray, ref p); - case 0xB9: return DecodeType(byteArray, ref p); - case 0xBA: return DecodeType(byteArray, ref p); - case 0xBB: return DecodeType(byteArray, ref p); - case 0xBC: return DecodeType(byteArray, ref p); - case 0xBD: return DecodeType(byteArray, ref p); - case 0xBE: return DecodeType(byteArray, ref p); - case 0xBF: return DecodeType(byteArray, ref p); - case 0xC0: return DecodeType(byteArray, ref p); - case 0xC1: return DecodeType(byteArray, ref p); - case 0xC2: return DecodeType(byteArray, ref p); - case 0xC3: return DecodeType(byteArray, ref p); - case 0xC4: return DecodeType(byteArray, ref p); - case 0xC5: return DecodeType(byteArray, ref p); - case 0xC6: return DecodeType(byteArray, ref p); - case 0xC7: return DecodeType(byteArray, ref p); - case 0xC8: return DecodeType(byteArray, ref p); - case 0xC9: return DecodeType(byteArray, ref p); - case 0xCA: return DecodeType(byteArray, ref p); - case 0xCB: return DecodeType(byteArray, ref p); - case 0xCC: return DecodeType(byteArray, ref p); - case 0xCD: return DecodeType(byteArray, ref p); - case 0xCE: return DecodeType(byteArray, ref p); - case 0xCF: return DecodeType(byteArray, ref p); - case 0xD0: return DecodeType(byteArray, ref p); - case 0xD1: return DecodeType(byteArray, ref p); - case 0xD2: return DecodeType(byteArray, ref p); - case 0xD3: return DecodeType(byteArray, ref p); - case 0xD4: return DecodeType(byteArray, ref p); - case 0xD5: return DecodeType(byteArray, ref p); - case 0xD6: return DecodeType(byteArray, ref p); - case 0xD7: return DecodeType(byteArray, ref p); - case 0xD8: return DecodeType(byteArray, ref p); - case 0xD9: return DecodeType(byteArray, ref p); - case 0xDA: return DecodeType(byteArray, ref p); - case 0xDB: return DecodeType(byteArray, ref p); - case 0xDC: return DecodeType(byteArray, ref p); - case 0xDD: return DecodeType(byteArray, ref p); - case 0xDE: return DecodeType(byteArray, ref p); - case 0xDF: return DecodeType(byteArray, ref p); - case 0xE0: return DecodeType(byteArray, ref p); - case 0xE1: return DecodeType(byteArray, ref p); - case 0xE2: return DecodeType(byteArray, ref p); - case 0xE3: return DecodeType(byteArray, ref p); - case 0xE4: return DecodeType(byteArray, ref p); - case 0xE5: return DecodeType(byteArray, ref p); - case 0xE6: return DecodeType(byteArray, ref p); - case 0xE7: return DecodeType(byteArray, ref p); - case 0xE8: return DecodeType(byteArray, ref p); - case 0xE9: return DecodeType(byteArray, ref p); - case 0xEA: return DecodeType(byteArray, ref p); - case 0xEB: return DecodeType(byteArray, ref p); - case 0xEC: return DecodeType(byteArray, ref p); - case 0xED: return DecodeType(byteArray, ref p); - case 0xEE: return DecodeType(byteArray, ref p); - case 0xEF: return DecodeType(byteArray, ref p); - case 0xF0: return DecodeType(byteArray, ref p); - case 0xF1: return DecodeType(byteArray, ref p); - case 0xF2: return DecodeType(byteArray, ref p); - case 0xF3: return DecodeType(byteArray, ref p); - case 0xF4: return DecodeType(byteArray, ref p); - case 0xF5: return DecodeType(byteArray, ref p); - case 0xF6: return DecodeType(byteArray, ref p); - case 0xF7: return DecodeType(byteArray, ref p); - case 0xF8: return DecodeType(byteArray, ref p); - case 0xF9: return DecodeType(byteArray, ref p); - case 0xFA: return DecodeType(byteArray, ref p); - case 0xFB: return DecodeType(byteArray, ref p); - case 0xFC: return DecodeType(byteArray, ref p); - case 0xFD: return DecodeType(byteArray, ref p); - case 0xFE: return DecodeType(byteArray, ref p); - case 0xFF: return DecodeType(byteArray, ref p); - default: - return null; - } - } - - /// - /// BaseEnumExt Create - /// - public void Create(T0 t, IType value2) - { - List bytes = new List(); - bytes.Add(Convert.ToByte(t)); - bytes.AddRange(value2.Encode()); - Bytes = bytes.ToArray(); - Value = t; - Value2 = value2; - TypeSize = Bytes.Length; - } - - /// - public override string ToString() => JsonConvert.SerializeObject(Value); - - /// - /// BaseEnumExt Enumeration Value - /// - [JsonConverter(typeof(StringEnumConverter))] - public T0 Value { get; set; } - - /// - /// BaseEnumExt Type Value - /// - public IType Value2 { get; set; } - } - -} \ No newline at end of file diff --git a/Substrate.NetApi/Model/Types/Metadata/Base/Portable/TypePortableForm.cs b/Substrate.NetApi/Model/Types/Metadata/Base/Portable/TypePortableForm.cs index 870091d..661abf4 100644 --- a/Substrate.NetApi/Model/Types/Metadata/Base/Portable/TypePortableForm.cs +++ b/Substrate.NetApi/Model/Types/Metadata/Base/Portable/TypePortableForm.cs @@ -2,6 +2,7 @@ using Substrate.NetApi.Model.Types.Metadata.Base; using Substrate.NetApi.Model.Types.Primitive; using System; +using System.Collections.Generic; namespace Substrate.NetApi.Model.Types.Metadata.V14 { @@ -30,7 +31,20 @@ public override void Decode(byte[] byteArray, ref int p) TypeParams = new BaseVec(); TypeParams.Decode(byteArray, ref p); - TypeDef = new BaseEnumExt, TypeDefCompact, TypeDefBitSequence, BaseVoid>(); + // Update to use BaseEnumRust + var typeDecoderMap = new Dictionary + { + { TypeDefEnum.Composite, typeof(TypeDefComposite) }, + { TypeDefEnum.Variant, typeof(TypeDefVariant) }, + { TypeDefEnum.Sequence, typeof(TypeDefSequence) }, + { TypeDefEnum.Array, typeof(TypeDefArray) }, + { TypeDefEnum.Tuple, typeof(TypeDefTuple) }, + { TypeDefEnum.Primitive, typeof(BaseEnum) }, + { TypeDefEnum.Compact, typeof(TypeDefCompact) }, + { TypeDefEnum.BitSequence, typeof(TypeDefBitSequence) }, + }; + + TypeDef = new BaseEnumRust(typeDecoderMap); TypeDef.Decode(byteArray, ref p); Docs = new BaseVec(); @@ -52,7 +66,7 @@ public override void Decode(byte[] byteArray, ref int p) /// /// Type Definition /// - public BaseEnumExt, TypeDefCompact, TypeDefBitSequence, BaseVoid> TypeDef { get; private set; } + public BaseEnumRust TypeDef { get; private set; } /// /// Docs diff --git a/Substrate.NetApi/Model/Types/Metadata/Base/StorageEntryMetadata.cs b/Substrate.NetApi/Model/Types/Metadata/Base/StorageEntryMetadata.cs index e9e56bc..c66ac15 100644 --- a/Substrate.NetApi/Model/Types/Metadata/Base/StorageEntryMetadata.cs +++ b/Substrate.NetApi/Model/Types/Metadata/Base/StorageEntryMetadata.cs @@ -2,6 +2,7 @@ using Substrate.NetApi.Model.Types.Base; using Substrate.NetApi.Model.Types.Primitive; using System; +using System.Collections.Generic; using static Substrate.NetApi.Model.Meta.Storage; namespace Substrate.NetApi.Model.Types.Metadata.Base @@ -28,7 +29,13 @@ public override void Decode(byte[] byteArray, ref int p) StorageModifier = new BaseEnum(); StorageModifier.Decode(byteArray, ref p); - StorageType = new BaseEnumExt(); + var typeDecoderMap = new Dictionary + { + { Storage.Type.Plain, typeof(TType) }, + { Storage.Type.Map, typeof(StorageEntryTypeMap) } + }; + + StorageType = new BaseEnumRust(typeDecoderMap); StorageType.Decode(byteArray, ref p); StorageDefault = new ByteGetter(); @@ -53,7 +60,7 @@ public override void Decode(byte[] byteArray, ref int p) /// /// Storage Type /// - public BaseEnumExt StorageType { get; private set; } + public BaseEnumRust StorageType { get; private set; } /// /// Storage Default diff --git a/Substrate.NetApi/Substrate.NetApi.csproj b/Substrate.NetApi/Substrate.NetApi.csproj index 52b1382..053eb53 100644 --- a/Substrate.NetApi/Substrate.NetApi.csproj +++ b/Substrate.NetApi/Substrate.NetApi.csproj @@ -3,7 +3,7 @@ Substrate.NET.API netstandard2.0;netstandard2.1;net6.0 - 0.9.25 + 0.9.24-rc8 Substrate Gaming Substrate Gaming true