/// <summary> /// Tries to match the specified type name against template arguments. /// </summary> /// <param name="typeName">The type name.</param> /// <param name="argumentName">The found argument name.</param> /// <returns><c>true</c> if template argument was matched.</returns> private bool TryGetTemplateArgument(string typeName, out string argumentName) { if (TemplateType.TryGetTemplateArgument(typeName, out argumentName)) { return(true); } if (typeName == "wchar_t") { if (TemplateType.TryGetTemplateArgument("unsigned short", out argumentName)) { return(true); } } else if (typeName == "unsigned short") { if (TemplateType.TryGetTemplateArgument("whcar_t", out argumentName)) { return(true); } } else if (typeName == "unsigned long long") { if (TemplateType.TryGetTemplateArgument("unsigned __int64", out argumentName)) { return(true); } } else if (typeName == "unsigned __int64") { if (TemplateType.TryGetTemplateArgument("unsigned long long", out argumentName)) { return(true); } } else if (typeName == "long long") { if (TemplateType.TryGetTemplateArgument("__int64", out argumentName)) { return(true); } } else if (typeName == "__int64") { if (TemplateType.TryGetTemplateArgument("long long", out argumentName)) { return(true); } } return(false); }
/// <summary> /// Tries to match the specified type name against template arguments. /// </summary> /// <param name="typeName">The type name.</param> /// <param name="argumentName">The found argument name.</param> /// <returns><c>true</c> if template argument was matched.</returns> private bool TryGetTemplateArgument(string typeName, out string argumentName) { if (TemplateType.TryGetTemplateArgument(typeName, out argumentName)) { return(true); } foreach (Tuple <string, string> tps in ConversionTypes) { if (typeName == tps.Item1 && TemplateType.TryGetTemplateArgument(tps.Item2, out argumentName)) { return(true); } if (typeName == tps.Item2 && TemplateType.TryGetTemplateArgument(tps.Item1, out argumentName)) { return(true); } } return(false); }