//private ExMethodInfo getExMethod(MethodInfo rmethod) //{ // //MethodInfo rmethod = method; // /* 非 Abstract 的方法肯定从被映射的类中搜索 */ // if (rmethod.IsAbstract) // { // rmethod = searchMethodFromSharp(rmethod); // ExMethodInfo exMethod = ZTypeUtil.CreatExMethodInfo(rmethod, this.SharpType); // return exMethod; // } // else // { // ExMethodInfo exMethod = ZTypeUtil.CreatExMethodInfo(rmethod, this.ZMappingType); // return exMethod; // } //} private MethodInfo searchMethodFromSharp(MethodInfo method) { ParameterInfo[] paramArray = method.GetParameters(); Type[] types = new Type[paramArray.Length]; for (int i = 0; i < paramArray.Length; i++) { types[i] = paramArray[i].ParameterType; } MethodInfo rmethod = SharpType.GetMethod(method.Name, types); return(rmethod); }
public override void DeserializeFromXML(XmlNode node) { base.DeserializeFromXML (node); double res = 0; if (node.Attributes["Curve"] != null) { if (double.TryParse(node.Attributes["Curve"].Value, NumberStyles.Float, nfi, out res)) { mCurve = res; } else throw new IncorrectNodeValueException("Can't parse Curve value"); } if (node.Attributes["Pressure"] != null) { if (double.TryParse(node.Attributes["Pressure"].Value, NumberStyles.Float, nfi, out res)) { mPressure = res; } else throw new IncorrectNodeValueException("Can't parse Pressure value"); } if (node.Attributes["NoiseGate"] != null) { if (double.TryParse(node.Attributes["NoiseGate"].Value, NumberStyles.Float, nfi, out res)) { mNoiseGate = res; } else throw new IncorrectNodeValueException("Can't parse NoiseGate value"); } if (node.Attributes["Contrast"] != null) { if (double.TryParse(node.Attributes["Contrast"].Value, NumberStyles.Float, nfi, out res)) { mContrast = res; } else throw new IncorrectNodeValueException("Can't parse Contrast value"); } if (node.Attributes["EdgePressure"] != null) { if (double.TryParse(node.Attributes["EdgePressure"].Value, NumberStyles.Float, nfi, out res)) { mEdgePressure = res; } else throw new IncorrectNodeValueException("Can't parse EdgePressure value"); } if (node.Attributes["SharpType"] != null) { if (node.Attributes["SharpType"].Value == "sharp") { mType = SharpType.Sharp; } else if (node.Attributes["SharpType"].Value == "soft") { mType = SharpType.Soft; } else throw new IncorrectNodeValueException("Can't parse SharpType value"); } OnChanged(); }
public override void DeserializeFromXML(XmlNode node) { base.DeserializeFromXML(node); double res = 0; if (node.Attributes["Curve"] != null) { if (double.TryParse(node.Attributes["Curve"].Value, NumberStyles.Float, nfi, out res)) { mCurve = res; } else { throw new IncorrectNodeValueException("Can't parse Curve value"); } } if (node.Attributes["Pressure"] != null) { if (double.TryParse(node.Attributes["Pressure"].Value, NumberStyles.Float, nfi, out res)) { mPressure = res; } else { throw new IncorrectNodeValueException("Can't parse Pressure value"); } } if (node.Attributes["NoiseGate"] != null) { if (double.TryParse(node.Attributes["NoiseGate"].Value, NumberStyles.Float, nfi, out res)) { mNoiseGate = res; } else { throw new IncorrectNodeValueException("Can't parse NoiseGate value"); } } if (node.Attributes["Contrast"] != null) { if (double.TryParse(node.Attributes["Contrast"].Value, NumberStyles.Float, nfi, out res)) { mContrast = res; } else { throw new IncorrectNodeValueException("Can't parse Contrast value"); } } if (node.Attributes["EdgePressure"] != null) { if (double.TryParse(node.Attributes["EdgePressure"].Value, NumberStyles.Float, nfi, out res)) { mEdgePressure = res; } else { throw new IncorrectNodeValueException("Can't parse EdgePressure value"); } } if (node.Attributes["SharpType"] != null) { if (node.Attributes["SharpType"].Value == "sharp") { mType = SharpType.Sharp; } else if (node.Attributes["SharpType"].Value == "soft") { mType = SharpType.Soft; } else { throw new IncorrectNodeValueException("Can't parse SharpType value"); } } OnChanged(); }