using CommunityToolkit.Mvvm.ComponentModel; using CtrEditor.ObjetosSim; using System.Collections.ObjectModel; using System.Reflection; namespace CtrEditor { public partial class OsTreeNode : ObservableObject { [ObservableProperty] private string name; [ObservableProperty] private ObservableCollection children; [ObservableProperty] private osBase associatedObject; [ObservableProperty] private string relationshipType; public OsTreeNode(string name, osBase obj = null, string relationship = "") { this.Name = name; this.Children = new ObservableCollection(); this.AssociatedObject = obj; this.RelationshipType = relationship; } public static string GetTypeDisplayName(Type type) { var methodInfo = type.GetMethod("NombreClase", BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy); return methodInfo != null ? methodInfo.Invoke(null, null)?.ToString() : type.Name; } } }