using System.ComponentModel; namespace TinyChat; /// /// Represents text-based message content. /// public class StringMessageContent : IChatMessageContent { private readonly string? _value; /// /// Occurs then the value of the message content changes. /// public event PropertyChangedEventHandler? PropertyChanged; /// /// Initializes a new instance of the class. /// /// The string value of the message content. public StringMessageContent(string? value) { if (string.Equals(_value, value)) return; _value = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(_value))); } /// public object? Content => _value; /// public override string ToString() => _value?.ToString() ?? string.Empty; }