using CaeKnowledge.Data; using System.Collections.Generic; using System.ComponentModel; using System.Runtime.CompilerServices; // ReSharper disable ConvertToAutoPropertyWhenPossible namespace CaeKnowledge.View { public class ViewProcessingJob: INotifyPropertyChanged { private readonly ProcessingJob _base; public ViewProcessingJob(ProcessingJob @base) { _base = @base; } [DisplayName("Step名称")] public string StepName => _base.StepName; [DisplayName("Surface名称")] public string SurfaceName => _base.SurfaceName; public double X => _base.X; public double Y => _base.Y; public double Z => _base.Z; public double Fx => _base.Fx; public double Fy => _base.Fy; public double Fz => _base.Fz; [Browsable(false)] public ProcessingJob Base => _base; public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } protected bool SetField(ref T field, T value, [CallerMemberName] string propertyName = null) { if (EqualityComparer.Default.Equals(field, value)) return false; field = value; OnPropertyChanged(propertyName); return true; } } }