Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use some auto properties #1723

Merged
merged 1 commit into from Aug 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 4 additions & 6 deletions src/Serilog/Events/MessageTemplate.cs
Expand Up @@ -35,8 +35,6 @@ public class MessageTemplate
/// </summary>
public static MessageTemplate Empty { get; } = new(Enumerable.Empty<MessageTemplateToken>());

readonly MessageTemplateToken[] _tokens;

/// <summary>
/// Construct a message template using manually-defined text and property tokens.
/// </summary>
Expand All @@ -59,9 +57,9 @@ public MessageTemplate(IEnumerable<MessageTemplateToken> tokens)
public MessageTemplate(string text, IEnumerable<MessageTemplateToken> tokens)
{
Text = text ?? throw new ArgumentNullException(nameof(text));
_tokens = (tokens ?? throw new ArgumentNullException(nameof(tokens))).ToArray();
TokenArray = (tokens ?? throw new ArgumentNullException(nameof(tokens))).ToArray();

var propertyTokens = GetElementsOfTypeToArray<PropertyToken>(_tokens);
var propertyTokens = GetElementsOfTypeToArray<PropertyToken>(TokenArray);
if (propertyTokens.Length != 0)
{
var allPositional = true;
Expand Down Expand Up @@ -119,9 +117,9 @@ static TResult[] GetElementsOfTypeToArray<TResult>(MessageTemplateToken[] tokens
/// <summary>
/// The tokens parsed from the template.
/// </summary>
public IEnumerable<MessageTemplateToken> Tokens => _tokens;
public IEnumerable<MessageTemplateToken> Tokens => TokenArray;

internal MessageTemplateToken[] TokenArray => _tokens;
internal MessageTemplateToken[] TokenArray { get; }

internal PropertyToken[]? NamedProperties { get; }

Expand Down
11 changes: 5 additions & 6 deletions src/Serilog/Parsing/PropertyToken.cs
Expand Up @@ -28,7 +28,6 @@ namespace Serilog.Parsing
/// </summary>
public sealed class PropertyToken : MessageTemplateToken
{
readonly string _rawText;
readonly int? _position;

/// <summary>
Expand Down Expand Up @@ -62,7 +61,7 @@ public PropertyToken(string propertyName, string rawText, string? format = null,
PropertyName = propertyName ?? throw new ArgumentNullException(nameof(propertyName));
Format = format;
Destructuring = destructuring;
_rawText = rawText ?? throw new ArgumentNullException(nameof(rawText));
RawText = rawText ?? throw new ArgumentNullException(nameof(rawText));
Alignment = alignment;

if (int.TryParse(PropertyName, NumberStyles.None, CultureInfo.InvariantCulture, out var position) &&
Expand All @@ -75,7 +74,7 @@ public PropertyToken(string propertyName, string rawText, string? format = null,
/// <summary>
/// The token's length.
/// </summary>
public override int Length => _rawText.Length;
public override int Length => RawText.Length;

/// <summary>
/// Render the token to the output.
Expand Down Expand Up @@ -118,7 +117,7 @@ public override void Render(IReadOnlyDictionary<string, LogEventPropertyValue> p
/// </summary>
public bool IsPositional => _position.HasValue;

internal string RawText => _rawText;
internal string RawText { get; }

/// <summary>
/// Try to get the integer value represented by the property name.
Expand Down Expand Up @@ -150,7 +149,7 @@ public override bool Equals(object? obj)
pt.Destructuring == Destructuring &&
pt.Format == Format &&
pt.PropertyName == PropertyName &&
pt._rawText == _rawText;
pt.RawText == RawText;
}

/// <summary>
Expand All @@ -169,6 +168,6 @@ public override bool Equals(object? obj)
/// A string that represents the current object.
/// </returns>
/// <filterpriority>2</filterpriority>
public override string ToString() => _rawText;
public override string ToString() => RawText;
}
}