public void CallWriteStartElement(GenerateNameType nameType, bool callChk)
{
MethodInfo meth = null;
// If runtime checks need to be made,
if (callChk)
{
// Then call XmlQueryOutput.WriteStartElement
switch (nameType)
{
case GenerateNameType.LiteralLocalName: meth = XmlILMethods.StartElemLocName; break;
case GenerateNameType.LiteralName: meth = XmlILMethods.StartElemLitName; break;
case GenerateNameType.CopiedName: meth = XmlILMethods.StartElemCopyName; break;
case GenerateNameType.TagNameAndMappings: meth = XmlILMethods.StartElemMapName; break;
case GenerateNameType.TagNameAndNamespace: meth = XmlILMethods.StartElemNmspName; break;
case GenerateNameType.QName: meth = XmlILMethods.StartElemQName; break;
default: Debug.Assert(false, nameType + " is invalid here."); break;
}
}
else
{
// Else call XmlQueryOutput.WriteStartElementUnchecked
switch (nameType)
{
case GenerateNameType.LiteralLocalName: meth = XmlILMethods.StartElemLocNameUn; break;
case GenerateNameType.LiteralName: meth = XmlILMethods.StartElemLitNameUn; break;
default: Debug.Assert(false, nameType + " is invalid here."); break;
}
}
Call(meth);
}