/// <summary>/// 获取设置element参数服务/// </summary>public static class ParamUtils{#region getpublic static string GetStringValue(this Element instance, BuiltInParameter builtInParameter){string value = string.Empty;if (instance != null){Parameter para = instance.get_Parameter(builtInParameter);if (para != null && para.StorageType == StorageType.String)using (para)value = para.AsString();}return value;}public static string GetStringValue(this Element instance, string strName){string value = string.Empty;if (instance != null && !string.IsNullOrEmpty(strName)){Parameter para = instance.LookupParameter(strName);if (para != null && para.StorageType == StorageType.String)using (para)value = para.AsString();}return value;}public static ElementId GetElementId(this Element instance, BuiltInParameter builtInParameter){ElementId value = ElementId.InvalidElementId;if (instance != null){Parameter para = instance.get_Parameter(builtInParameter);if (para != null && para.StorageType == StorageType.ElementId)using (para)value = para.AsElementId();}return value;}public static ElementId GetElementId(this Element instance, string strName){ElementId value = ElementId.InvalidElementId;if (instance != null && !string.IsNullOrEmpty(strName)){Parameter para = instance.LookupParameter(strName);if (para != null && para.StorageType == StorageType.ElementId)using (para)value = para.AsElementId();}return value;}public static double GetDoubleValue(this Element instance, BuiltInParameter builtInParameter){double value = 0.0;if (instance != null){Parameter para = instance.get_Parameter(builtInParameter);if (para != null && para.StorageType == StorageType.Double)using (para)value = para.AsDouble();}return value;}public static string GetValueAsString(this Element instance, BuiltInParameter builtInParameter, FormatOptions formatOptions = null){string value = string.Empty;if (instance != null){Parameter para = instance.get_Parameter(builtInParameter);if (para != null)using (para)value = formatOptions == null ? para.AsValueString() : para.AsValueString(formatOptions);}return value;}public static string GetValueAsString(this Element instance, string strName, FormatOptions formatOptions = null){string value = string.Empty;if (instance != null){Parameter para = instance.LookupParameter(strName);if (para != null)using (para)value = formatOptions == null ? para.AsValueString() : para.AsValueString(formatOptions);}return value;}public static int GetInteger(this Element instance, BuiltInParameter builtInParameter){int value = 0;if (instance != null){Parameter para = instance.get_Parameter(builtInParameter);if (para != null && para.StorageType == StorageType.Integer)using (para)value = para.AsInteger();}return value;}public static int GetInteger(this Element instance, string strName){int value = 0;if (instance != null && !string.IsNullOrEmpty(strName)){Parameter para = instance.LookupParameter(strName);if (para != null && para.StorageType == StorageType.Integer)using (para)value = para.AsInteger();}return value;}public static double GetDoubleValue(this Element instance, string strName){double value = 0.0;if (instance != null && !string.IsNullOrEmpty(strName)){Parameter para = instance.LookupParameter(strName);if (para != null && para.StorageType == StorageType.Double)using (para)value = para.AsDouble();}return value;}#endregion#region setpublic static void SetDoubleValue(this Element instance, BuiltInParameter builtInParameter, double value){if (instance != null){var param = instance.get_Parameter(builtInParameter);if (param != null &¶m.StorageType == StorageType.Double &&!param.IsReadOnly)using (param)param.Set(value);}}public static void SetDoubleValue(this Element instance, string strName, double value){if (instance != null && !string.IsNullOrEmpty(strName)){var param = instance.LookupParameter(strName);if (param != null &¶m.StorageType == StorageType.Double &&!param.IsReadOnly)using (param)param.Set(value);}}public static void SetInteger(this Element instance, string strName, int value){if (instance != null && !string.IsNullOrEmpty(strName)){var param = instance.LookupParameter(strName);if (param != null &¶m.StorageType == StorageType.Integer &&!param.IsReadOnly)using (param)param.Set(value);}}public static void SetStringValue(this Element instance, string strName, string value){if (instance != null && !string.IsNullOrEmpty(strName)){var param = instance.LookupParameter(strName);if (param != null &¶m.StorageType == StorageType.String &&!param.IsReadOnly)using (param)param.Set(value);}}public static void SetStringValue(this Element instance, BuiltInParameter builtInParameter, string value){if (instance != null){var param = instance.get_Parameter(builtInParameter);if (param != null &¶m.StorageType == StorageType.String &&!param.IsReadOnly)using (param)param.Set(value);}}public static void SetInteger(this Element instance, BuiltInParameter builtInParameter, int value){if (instance != null){var param = instance.get_Parameter(builtInParameter);if (param != null &¶m.StorageType == StorageType.Integer &&!param.IsReadOnly)using (param)param.Set(value);}}public static void SetElmentId(this Element instance, BuiltInParameter builtInParameter, ElementId value){if (instance != null){var param = instance.get_Parameter(builtInParameter);if (param != null &¶m.StorageType == StorageType.ElementId &&!param.IsReadOnly)using (param)param.Set(value);}}public static void SetElmentId(this Element instance, string strName, ElementId value){if (instance != null && !string.IsNullOrEmpty(strName)){var param = instance.LookupParameter(strName);if (param != null &¶m.StorageType == StorageType.ElementId &&!param.IsReadOnly)using (param)param.Set(value);}}#endregion}
操作构件时,一般需要设置或者读取其参数,如上是作者封装的操作类,供大家参考。