Skip to content

Commit 668d682

Browse files
Fixed cast method collision.
1 parent 90b9d6e commit 668d682

File tree

4 files changed

+4
-24
lines changed

4 files changed

+4
-24
lines changed

Open.Serialization/DefaultMethods.cs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -90,22 +90,5 @@ public static async ValueTask SerializeAsync<T>(ISerialize<T> serializer, Stream
9090
using var writer = new StreamWriter(target);
9191
await writer.WriteAsync(text).ConfigureAwait(false);
9292
}
93-
94-
/// <summary>
95-
/// Creates a type specific serializer using this as the underlying serializer.
96-
/// </summary>
97-
/// <returns>A type specific serializer.</returns>
98-
public static Serializer<T> Cast<T>(this ISerializer serializer)
99-
{
100-
if (serializer is null)
101-
throw new ArgumentNullException(nameof(serializer));
102-
103-
return serializer is IAsyncSerializer a
104-
? new Serializer<T>(
105-
serializer.Deserialize<T>, serializer.Serialize<T>,
106-
a.DeserializeAsync<T>, a.SerializeAsync<T>)
107-
: new Serializer<T>(
108-
serializer.Deserialize<T>, serializer.Serialize<T>);
109-
}
11093
}
11194
}

Open.Serialization/Extensions/SerializationExtensions.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ public static Serializer<T> Cast<T>(this ISerializer serializer)
128128
if (serializer is null)
129129
throw new ArgumentNullException(nameof(serializer));
130130

131+
if (serializer is SerializerBase sb)
132+
return sb.Cast<T>();
133+
131134
return serializer is IAsyncSerializer a
132135
? new Serializer<T>(
133136
serializer.Deserialize<T>, serializer.Serialize<T>,

Open.Serialization/Open.Serialization.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Part of the "Open" set of libraries.
1717
<RepositoryUrl>https://github.com/electricessence/Open.Serialization</RepositoryUrl>
1818
<RepositoryType>git</RepositoryType>
1919
<PackageTags>serialization</PackageTags>
20-
<Version>2.2.1</Version>
20+
<Version>2.2.2</Version>
2121
<Nullable>enable</Nullable>
2222
</PropertyGroup>
2323

Open.Serialization/Open.Serialization.xml

Lines changed: 0 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)