Esempio n. 1
0
        public Time(string name)
        {
            _name = name;
            _stopwatch = new Stopwatch();

            var message = StartText(_name);
            StartLogAction?.Invoke(message);

            _stopwatch.Reset();
            _stopwatch.Start();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="StartLogActionViewModel"/> class.
        /// </summary>
        /// <param name="action">The action.</param>
        /// <param name="actionDescriptor">The action descriptor.</param>
        /// <param name="parameterDescriptions">The parameter descriptions.</param>
        /// <param name="allDescriptions">All descriptions.</param>
        public StartLogActionViewModel([NotNull] StartLogAction action, [NotNull] ActionDescription actionDescriptor, [NotNull] IEnumerable <ParameterDescription> parameterDescriptions, [NotNull] IEnumerable <ActionDescription> allDescriptions)
            : base(action, actionDescriptor, allDescriptions)
        {
            Assert.ArgumentNotNull(action, "action");
            Assert.ArgumentNotNull(actionDescriptor, "actionDescriptor");
            Assert.ArgumentNotNull(parameterDescriptions, "parameterDescriptions");
            Assert.ArgumentNotNull(allDescriptions, "allDescriptions");

            _action = action;
            ParameterDescriptions = parameterDescriptions;

            _logNameParameter = ActionParametersViewModel.CreateParameterViewModel(_action.LogNameParameter, parameterDescriptions);
            _logNameParameter.PropertyChanged += HandleLogNameParameterDescriptionChange;
        }