Beispiel #1
0
        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();
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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);
        }