取得项目参数的完整代码如下
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
Document doc = uiDoc.Document;
StringBuilder strB = new StringBuilder();
try
{
BindingMap map = doc.ParameterBindings;
DefinitionBindingMapIterator dep = map.ForwardIterator();
while (dep.MoveNext())
{
Definition definition = dep.Key;
string definitionName = definition.Name;
ParameterType parameterType = definition.ParameterType;
InstanceBinding instanceBinding = dep.Current as InstanceBinding;
if (instanceBinding != null)
{
CategorySet categorySet = instanceBinding.Categories;
strB.AppendLine(string.Format("Name:{0} Type:{1} CategorySet:{2}", definitionName, parameterType, categorySet.GetType().ToString()));
}
else
{
strB.AppendLine(string.Format("Name:{0} Type:{1}", definitionName, parameterType));
}
}
TaskDialog.Show("Infor", strB.ToString());
}
catch (Exception excep)
{
TaskDialog.Show("Exception", excep.Message);
}
return Result.Succeeded;