public static IType GetReferencedType(Expression typeref)
{
switch (typeref.NodeType)
{
case NodeType.TypeofExpression:
return GetType(((TypeofExpression) typeref).Type);
case NodeType.ReferenceExpression:
case NodeType.MemberReferenceExpression:
case NodeType.GenericReferenceExpression:
return typeref.Entity as IType;
}
return null;
}