XMLTransTool/TransTool/TFile.cs
2024-01-04 17:26:29 +08:00

40 lines
1.2 KiB
C#

// ${File.SolutionName} / ${File.ProjectName} / ${File.FileName}
// CREATED AT ${File.CreatedYear} / ${File.CreatedMonth} / ${File.CreatedDay}
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace TransTool;
public class TFile: INotifyPropertyChanged
{
private string FileName;
private string FileNameShort;
private DateTime LastModified;
private DateTime Created;
public ObservableCollection<TKey> Keys;
public TFile(string fileName, string fileNameShort)
{
FileName = fileName;
FileNameShort = fileNameShort;
Keys = new();
}
public event PropertyChangedEventHandler? PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected bool SetField<T>(ref T field, T value, [CallerMemberName] string? propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
}