private static string GetRequiredKeyType(RuntimeCsvRepresentation rcr, List<TypedMemberBase> members, Dictionary<string, string> untypedMembers, int requiredHeader)
{
// At this point the headers have their proper names (like XOffset) and don't include their type, so we
// can use the simple .Name property
string requiredMember = rcr.Headers[requiredHeader].Name;
string type = null;
foreach (TypedMemberBase tmb in members)
{
if (tmb.MemberName == requiredMember)
{
type = tmb.MemberType.FullName;
break;
}
}
if (string.IsNullOrEmpty(type))
{
foreach (KeyValuePair<string, string> kvp in untypedMembers)
{
if (kvp.Key == requiredMember)
{
type = kvp.Value;
break;
}
}
}
return type;
}