Estoy intentando validar que un parámetro es tanto un parámetro de salida como una interfaz (ICollection). La API de reflexión no parece querer darme el tipo de parámetro "real", solo el que tiene un "&" al final que no se evaluará correctamente en una instrucción IsAssignableFrom. He escrito un código C# que funciona pero parece que debería haber una mejor manera de hacerlo..NET Reflection - Cómo obtener el tipo "real" de fuera ParameterInfo
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;
}
¿Hay alguna manera de obtener realType sin volver a cargar el Tipo desde su nombre de cadena? Todavía estoy en .NET 2.1.
Gracias, Randy
+1 "Un parámetro de salida es 'por ref'". –
Tiene toda la razón, me perdí la parte de ref en mi respuesta :-) +1. – driis
Funciona muy bien. ¡Gracias! – randy909