private static string BuildArrayCallChainTemplate(CallChainInfo cci, string indexerVarName) { var tokens = new List <string>(cci.CallChainProperties.Length); var indexer = 0; foreach (var call in cci.CallChainProperties) { var pt = call.PropertyType; var callAsStr = pt.IsArray ? $"{call.Name}[{indexerVarName}[{indexer++}]]" : $"{call.Name}"; tokens.Add(callAsStr); } return(string.Join('.', tokens)); }
public static string GetDALLookUpKey(CallChainInfo cci) { if (cci.CallChainProperties.Any(c => c.PropertyType.IsArray)) { var tokens = new List <string>(cci.CallChainProperties.Length); foreach (var call in cci.CallChainProperties) { var pt = call.PropertyType; var callAsStr = pt.IsArray ? $"{call.Name}[]" : $"{call.Name}"; tokens.Add(callAsStr.ToLower()); } return(string.Join('.', tokens)); } else { return(cci.CallChain.ToLower()); } }