Я пытаюсь проверить, что параметр является как выходным параметром, так и расширяет интерфейс (ICollection). Кажется, API-интерфейс отражения не хочет давать мне «реальный» тип параметра, а только тот, который имеет «&» в конце, что не будет правильно оцениваться в операторе IsAssignableFrom. Я написал некоторый код на C #, который работает, но, похоже, должен быть лучший способ сделать это.
bool isCachedArg(ParameterInfo pInfo)
{
if (!pInfo.IsOut)
return false;
string typeName = pInfo.ParameterType.FullName;
string nameNoAmpersand = typeName.Substring(0, typeName.Length - 1);
Type realType = Type.GetType(nameNoAmpersand);
if (!typeof(ICollection).IsAssignableFrom(realType))
return false;
return true;
}
Есть ли способ получить realType без перезагрузки Type из его строкового имени? Я все еще на .NET 2.1.
Спасибо,
Randy