Revit.SDK.Samples.NewRebar.CS.RebarShapeDef.AddParameter C# (CSharp) Méthode

AddParameter() public méthode

Add a parameter to RebarShapeDefinition.
public AddParameter ( Type parameterType, object name, object value ) : RebarShapeParameter
parameterType System.Type Parameter type: /// (type of RebarShapeParameterDouble or type of RebarShapeParameterFormula)
name object Parameter name
value object Parameter value (double value or formula string)
Résultat RebarShapeParameter
        public RebarShapeParameter AddParameter(Type parameterType, object name, object value)
        {
            RebarShapeParameter param =
                Activator.CreateInstance(parameterType, this, name, value) as RebarShapeParameter;
            m_parameters.Add(param);
            return param;
        }

Usage Example

        /// <summary>
        /// Present a dialog to add a parameter to RebarShapeDef.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void addParameterButton_Click(object sender, EventArgs e)
        {
            using (AddParameter addParam = new AddParameter(m_rebarShapeDef.Parameters))
            {
                if (DialogResult.OK == addParam.ShowDialog())
                {
                    Type paramType = addParam.IsFormula ?
                                     typeof(RebarShapeParameterFormula) :
                                     typeof(RebarShapeParameterDouble);

                    object paramName  = addParam.ParamName;
                    object paramValue = addParam.ParamValue;
                    if (!addParam.IsFormula)
                    {
                        paramValue = double.Parse(addParam.ParamValue);
                    }

                    // Add the parameter to RebarShapeDef.
                    RebarShapeParameter param = m_rebarShapeDef.AddParameter(paramType, paramName, paramValue);
                    propertyGrid.SelectedObject = param;
                    m_parametersListBoxBinding.ResetBindings(false);
                    parameterListBox.SelectedItem = param;
                }
            }
        }