namespace XFEExtension.NetCore.XFPManager; /// /// XFE属性管理器 /// public class XFPManager { private List Properties { get; set; } /// /// 通过索引器获取属性 /// /// /// public object? this[string name] { get { return (from property in Properties where property.Name == name select property.Property).FirstOrDefault(); } set { foreach (var property in Properties.Where(property => property.Name == name)) { property.Property = value; } } } /// /// 通过名称获取给定类型的属性 /// /// /// /// 属性值 public T? X(string name) { foreach (var item in Properties.Where(item => item.Name == name)) { return (T?)item.Property; } return default; } /// /// 通过名称设置给定类型的属性 /// /// /// public void E(string name, object value) { foreach (var item in Properties.Where(item => item.Name == name)) { item.Property = value; } } /// /// XFE属性管理器 /// public XFPManager() { Properties = []; } /// /// XFE属性管理器 /// /// 属性名称和其值 public XFPManager(params object[] nameAndValue) { Properties = []; for (var i = 0; i < nameAndValue.Length; i += 2) { Properties.Add(new XProperty { Name = nameAndValue[i].ToString()!, Property = nameAndValue[i + 1] }); } } }