using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UIShare.UIViewModel
{
    public class MethodVM
    {

        #region 构造函数

        public MethodVM()
        {

        }

        public MethodVM(MethodVM source)
        {
            if (source == null) return;

            Name = source.Name;
            FullName = source.FullName;

            // 深拷贝参数
            Parameters = new ObservableCollection<ParameterVM>(
                source.Parameters.Select(p => new ParameterVM(p)));
        }

        #endregion

        public string? Name { get; set; }

        public string? FullName { get; set; }

        public ObservableCollection<ParameterVM> Parameters { get; set; } = [];
    }
}
