SchemaObjectName
Represents a schema object name.
using System;
namespace Microsoft.SqlServer.TransactSql.ScriptDom
{
[Serializable]
public class SchemaObjectName : MultiPartIdentifier
{
private const int MaxIdentifiers = 5;
private const int ServerModifier = 4;
private const int DatabaseModifier = 3;
private const int SchemaModifier = 2;
private const int BaseModifier = 1;
public virtual Identifier ServerIdentifier => ChooseIdentifier(4);
public virtual Identifier DatabaseIdentifier => ChooseIdentifier(3);
public virtual Identifier SchemaIdentifier => ChooseIdentifier(2);
public virtual Identifier BaseIdentifier => ChooseIdentifier(1);
protected Identifier ChooseIdentifier(int modifier)
{
int num = base.Identifiers.Count - modifier;
if (num < 0)
return null;
return base.Identifiers[num];
}
public override void Accept(TSqlFragmentVisitor visitor)
{
visitor?.ExplicitVisit(this);
}
public override void AcceptChildren(TSqlFragmentVisitor visitor)
{
base.AcceptChildren(visitor);
}
}
}