public void CallWriteStartAttribute(GenerateNameType nameType, bool callChk)
{
MethodInfo meth = null;
// If runtime checks need to be made,
if (callChk)
{
// Then call XmlQueryOutput.WriteStartAttribute
switch (nameType)
{
case GenerateNameType.LiteralLocalName: meth = XmlILMethods.StartAttrLocName; break;
case GenerateNameType.LiteralName: meth = XmlILMethods.StartAttrLitName; break;
case GenerateNameType.CopiedName: meth = XmlILMethods.StartAttrCopyName; break;
case GenerateNameType.TagNameAndMappings: meth = XmlILMethods.StartAttrMapName; break;
case GenerateNameType.TagNameAndNamespace: meth = XmlILMethods.StartAttrNmspName; break;
case GenerateNameType.QName: meth = XmlILMethods.StartAttrQName; break;
default: Debug.Assert(false, nameType + " is invalid here."); break;
}
}
else
{
// Else call XmlQueryOutput.WriteStartAttributeUnchecked
switch (nameType)
{
case GenerateNameType.LiteralLocalName: meth = XmlILMethods.StartAttrLocNameUn; break;
case GenerateNameType.LiteralName: meth = XmlILMethods.StartAttrLitNameUn; break;
default: Debug.Assert(false, nameType + " is invalid here."); break;
}
}
Call(meth);
}