ScriptCore: Properly use nullable

This commit is contained in:
Simon Lübeß
2024-01-12 00:17:40 +01:00
parent 3d0c010139
commit 55b4be05c2
6 changed files with 109 additions and 76 deletions
@@ -79,9 +79,9 @@ public static class DictionarySerializer
return null;
// Get serialization container for the instance
DeserializationObject deserializedObject = container.GetDeserializedObject(id);
DeserializationObject? deserializedObject = container.GetDeserializedObject(id);
Type type = deserializedObject.StoredType;
Type? type = deserializedObject?.StoredType;
if (type?.IsAssignableTo(fieldType) != true)
return DeserializationObject.NoValueDeserialized;
@@ -89,7 +89,7 @@ public static class DictionarySerializer
Type keyType = fieldType.GetGenericArguments()[0];
Type valueType = fieldType.GetGenericArguments()[1];
int count = deserializedObject.GetFieldValue<int>("Count", SerializationType.Int32);
int count = deserializedObject!.GetFieldValue<int>("Count", SerializationType.Int32);
// Create instance, pass in capacity
object? instance = ActivatorExtension.CreateInstanceSafe(type, count);
@@ -103,7 +103,7 @@ public static class DictionarySerializer
deserializedObject.PushScope(i.ToString());
object? key = deserializedObject.DeserializeField(null, keyType, "Key");
object value = deserializedObject.DeserializeField(null, valueType, "Value");
object? value = deserializedObject.DeserializeField(null, valueType, "Value");
if (key != null)
{