namespace ZelWiki.Engine.Library { public class PageReference { public PageReference() { Name = string.Empty; Namespace = string.Empty; Navigation = string.Empty; } /// /// /// public string Name { get; set; } /// /// /// public string Namespace { get; set; } /// /// /// public string Navigation { get; set; } public override bool Equals(object? obj) { return obj is PageReference other && string.Equals(Navigation, other.Navigation, StringComparison.OrdinalIgnoreCase); } public override int GetHashCode() { return Navigation.GetHashCode(); } /// /// /// /// /// /// public PageReference(string name, string navigation) { var parts = name.Split("::"); if (parts.Length == 1) { Name = parts[0].Trim(); } else if (parts.Length == 2) { Namespace = parts[0].Trim(); Name = parts[1].Trim(); } else { throw new Exception($"页面名称无效: {name}"); } Navigation = navigation; } } }