James McAvoy has been told he's ''too short'' for a role.

The 'Glass' star - who is five foot and seven inches tall - has revealed he has been passed on roles because of his height.

Speaking to The Telegraph newspaper, he said: ''Sometimes you're made to feel like you're not good-looking enough to get a role. I was told once by an actress that it was an interesting choice, my casting, because nobody would usually believe that I would be with somebody like her. That was a kick in the nuts! I was like, 'All right, now I've got to pretend that I really like you for eight more weeks. This is going to be really tough, because you're so far up yourself.' It got really interesting, that relationship. And as a shorter man, I sometimes get told I'm too short for a role. Or even when I get a role, I'm made to feel like, well, of course, we're going to have to do something about that.''

However, there is one role James doesn't want - to play James Bond.

He said: ''Have I been in the running? [Is it the dream role for actors?] Apparently so but not for me. It wouldn't work, he wouldn't suit me.''

And James is adamant he has his grandparents to thank for his successful career because they taught him what was important in life.

He added: ''In large part I was raised by my grandparents. They taught me a respect for people, a respect for money. Money is freedom. From them I absorbed the importance of owning your own place and not owing money or having credit card debts.''