Es por el ámbito de la variable, si la creas dentro del if solo existirá no la podras usar fuera.
Prueba con
Código:
var oRecurso;
if (MDIControlHabilitacion.bPersonal == true)
{
oRecurso = new personal();
}
else
{
oRecurso = new vehiculo();
}
oRecurso.
Pero eso que intentas hacer no es una buena practica, intenta pensar otra forma de resolver el problema