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;
}