diff --git a/src/Ae.Dns.Protocol/Records/DnsCaaResource.cs b/src/Ae.Dns.Protocol/Records/DnsCaaResource.cs index 8df9f0d..14b6f82 100644 --- a/src/Ae.Dns.Protocol/Records/DnsCaaResource.cs +++ b/src/Ae.Dns.Protocol/Records/DnsCaaResource.cs @@ -29,6 +29,21 @@ public sealed class DnsCaaResource : IDnsResource, IEquatable /// public ReadOnlyMemory Value { get; set; } + /// + /// If this value is known to be a string, return it as ASCII. + /// + public string ValueAsString + { + get + { +#if NETSTANDARD2_0 + return Encoding.ASCII.GetString(Value.ToArray()); +#else + return Encoding.ASCII.GetString(Value.Span); +#endif + } + } + /// public bool Equals(DnsCaaResource? other) { @@ -57,7 +72,7 @@ public void ReadBytes(ReadOnlyMemory bytes, ref int offset, int length) } /// - public override string ToString() => $"{Flag} {Tag} {Encoding.ASCII.GetString(Value.ToArray())}"; + public override string ToString() => $"{Flag} {Tag} {ValueAsString}"; /// public void WriteBytes(Memory bytes, ref int offset)