GlobalParametersManagerIsUniqueName Method

Tests whether a name is unique among existing global parameters of a given document.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public static bool IsUniqueName(
	Document document,
	string name
)

Parameters

document  Document
Document in which a new parameter is to be added.
name  String
A name of a parameter being added.

Return Value

Boolean
True if the given %name% does not exist yet among existing global parameters nof the document; False otherwise.
Exceptions
ExceptionCondition
ArgumentNullException A non-optional argument was null
Remarks
Typically, this method is used before a new global parameters is created, for all global parameters must have their names unique in the scope of a document.
Example
/// <summary>
/// Creates or finds a global parameter of a given name. 
/// </summary>
/// <param name="document">Revit project document.</param>
/// <param name="name">Name of a global parameter.</param>
/// <returns>An Element Id of the global parameter</returns>
public GlobalParameter GetOrCreateAGlobalParameter(Document document, String name)
{
    GlobalParameter gp = null;

    // Global parameters are not available in all documents.
    // They are available in projects, but not in families.
    if (GlobalParametersManager.AreGlobalParametersAllowed(document))
    {
        if (GlobalParametersManager.IsUniqueName(document,name))
        {
            // if the name is not unique, the global parameter must exist already
            gp = document.GetElement(GlobalParametersManager.FindByName(document, name)) as GlobalParameter;
        }
        else
        {
            // A global parameter with such a name does not exist yet;
            // Let's create a new one (assume the type is Number)
            using (Transaction trans = new Transaction(document, "Create Global Parameter"))
            {
                trans.Start();
                gp = GlobalParameter.Create(document,name, SpecTypeId.Number);
                trans.Commit();
            }
        }
    }

    return gp;
}
See Also