Exemplo n.º 1
0
        public void ResetParam(string nameOfProp)
        {
            RemoveParam(nameOfProp);
            var currVal = (double)this.GetType().GetProperty(nameOfProp).GetGetMethod().Invoke(this, null);

            var scnParam = new ScnPrm(nameOfProp, this, currVal);

            this.GetType().GetProperty("p" + nameOfProp).GetSetMethod().Invoke(this, new object[] { scnParam });

            var GetDeleg = (Func <double>) this.GetType().GetProperty(nameOfProp).GetGetMethod().CreateDelegate(typeof(Func <double>), this);
            var SetDeleg = (Action <double>) this.GetType().GetProperty(nameOfProp).GetSetMethod().CreateDelegate(typeof(Action <double>), this);

            scnParam.GetVal = t => GetDeleg();
            scnParam.SetVal = SetDeleg;
        }
Exemplo n.º 2
0
        public bool SetDiff(IScnPrm prm, Func <double, double> dPrmdtF, string dname = "")
        {
            if (!Prms.Contains(prm))
            {
                return(false);
            }
            var dprm = new ScnPrm();

            dprm.GetVal = new Func <double, double>(dPrmdtF);

            bool newname = dname == "";

            if (!newname)
            {
                dprm.Name = dname;
            }
            AddDiffPropToParam(prm, dprm, getNewName: newname);
            return(true);
        }