Я пытаюсь проверить, что параметр является как выходным параметром, так и расширяет интерфейс (ICollection). Отражение api, похоже, не хочет давать мне "реальный" тип параметра, только тот, у которого есть "&". в конце, который не будет правильно оцениваться в заявлении IsAssignableFrom. Я написал код С#, который работает, но кажется, что должен быть лучший способ сделать это.
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.
Спасибо, Ренди