From 3d0dd693ba666f0a9520a4df485be505917b2d8b Mon Sep 17 00:00:00 2001 From: Michael Croes Date: Wed, 26 Jul 2023 23:47:32 +0200 Subject: [PATCH] fix: Fix nullability warnings in Class.ToBytes --- S7.Net/Types/Class.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/S7.Net/Types/Class.cs b/S7.Net/Types/Class.cs index fa5eb06..0b2b34b 100644 --- a/S7.Net/Types/Class.cs +++ b/S7.Net/Types/Class.cs @@ -333,19 +333,21 @@ namespace S7.Net.Types var properties = GetAccessableProperties(sourceClass.GetType()); foreach (var property in properties) { + var value = property.GetValue(sourceClass, null) ?? + throw new ArgumentException($"Property {property.Name} on sourceClass can't be null.", nameof(sourceClass)); + if (property.PropertyType.IsArray) { - Array array = (Array)property.GetValue(sourceClass, null); + Array array = (Array) value; IncrementToEven(ref numBytes); - Type elementType = property.PropertyType.GetElementType(); for (int i = 0; i < array.Length && numBytes < bytes.Length; i++) { - numBytes = SetBytesFromProperty(array.GetValue(i), property, bytes, numBytes); + numBytes = SetBytesFromProperty(array.GetValue(i)!, property, bytes, numBytes); } } else { - numBytes = SetBytesFromProperty(property.GetValue(sourceClass, null), property, bytes, numBytes); + numBytes = SetBytesFromProperty(value, property, bytes, numBytes); } } return numBytes;