public static SimulateVariableModel Create(IEnumerable <SimulateVariableUnit> svunits) { SimulateVariableUnit svunitf = svunits.First(); if (svunitf is SimulateBitUnit) { return(SimulateBitModel.Create(svunits)); } if (svunitf is SimulateWordUnit) { return(SimulateWordModel.Create(svunits)); } if (svunitf is SimulateDWordUnit) { return(SimulateDWordModel.Create(svunits)); } if (svunitf is SimulateFloatUnit) { return(SimulateFloatModel.Create(svunits)); } return(null); }
static public new SimulateFloatModel Create(IEnumerable <SimulateVariableUnit> svunits) { SimulateFloatUnit sfunit = (SimulateFloatUnit)(svunits.First()); SimulateFloatModel sfmodel = new SimulateFloatModel(); string _name = sfunit.Name; int i = 0; while (char.IsLetter(_name[i])) { i++; } sfmodel.Base = _name.Substring(0, i); sfmodel.Offset = int.Parse(_name.Substring(i)); sfmodel.size = svunits.Count(); sfmodel.values = new SimulateFloatUnit[sfmodel.size]; i = 0; foreach (SimulateVariableUnit svunit in svunits) { sfmodel.values[i++] = (SimulateFloatUnit)(svunit); } return(sfmodel); }
public static SimulateVariableModel Create(string name, int size, string type) { int i = 0; while (char.IsLetter(name[i])) { i++; } string bname = name.Substring(0, i); int offset = int.Parse(name.Substring(i)); SimulateVariableModel svmodel = null; switch (type) { case "BIT": svmodel = new SimulateBitModel(); break; case "WORD": svmodel = new SimulateWordModel(); break; case "DWORD": svmodel = new SimulateDWordModel(); break; case "FLOAT": svmodel = new SimulateFloatModel(); break; default: return(svmodel); } svmodel.Base = bname; svmodel.Offset = offset; svmodel.Size = size; return(svmodel); }