private void RecreateControlPoints() { System.ICloneable prototype = (System.ICloneable)_controlPointPrototype; ControlPoint[] controlPoints = new ControlPoint[_obj.Points.Length]; for (int i = 0; i < controlPoints.Length; i++) { controlPoints[i] = (ControlPoint)prototype.Clone(); } _transformedPoints = new ControlPointCollection(controlPoints); _updateProvider = true; UpdateControlPointsState(); }
private EventParameter CloneParameter() { // Determine whether the value supports ICloneable. System.ICloneable cloneable = m_value as System.ICloneable; if (cloneable != null) { return(new EventParameter(m_name, cloneable.Clone())); } // Determine whether the value supports IBinarySerializable. IBinarySerializable serializable = m_value as IBinarySerializable; if (serializable != null) { MemoryStream stream = new MemoryStream(); using (BinaryWriter writer = new BinaryWriter(stream)) { serializable.Write(writer); return(new EventParameter(m_name, new ClassInfo(m_value.GetType()), stream.ToArray(), ValueFormat.LinkMeBinary)); } } // Determine whether the value supports IXmlSerializable. IXmlSerializable xmlSerializable = m_value as IXmlSerializable; if (xmlSerializable != null) { return(new EventParameter(m_name, new ClassInfo(m_value.GetType()), XmlSerializer.Serialize(xmlSerializable), ValueFormat.LinkMeXml)); } // Determine whether the value can be XmlSerialized. try { return(new EventParameter(m_name, new ClassInfo(m_value.GetType()), XmlSerializer.Serialize(m_value), ValueFormat.SystemXml)); } catch (System.Exception) { } // Just return the string representation. return(new EventParameter(m_name, new ClassInfo(m_value.GetType()), m_value.ToString(), ValueFormat.String)); }
public static IDbCommand CreateCommand(IDbConnection connection, string commandText, params DbType[] parameterTypes) { System.ICloneable cloneable = connection as System.ICloneable; if (cloneable != null) { connection = (IDbConnection)cloneable.Clone(); } IDbCommand command = connection.CreateCommand(); command.CommandText = commandText; int index = 0; foreach (DbType paramType in parameterTypes) { IDataParameter param = command.CreateParameter(); param.DbType = paramType; param.ParameterName = index.ToString(System.Globalization.CultureInfo.InvariantCulture); command.Parameters.Add(param); ++index; } return(command); }