✔ 最佳答案
No, it depends on a lot of things. If your name (a Chinese name) and place of birth (Hong Kong) give out that you are Chinese from HK, then surely NO.
Because China does not recognise dual nationality. You are not allowed to use that foreign passport to enter China. Hong Kong to Shanghai is considered as domestic travel (with restrictions). China won't recognise your British passport either (They consider you as Chinese citizen), so you must use anything (回鄉證) but an international travel document (Passport). That is why HK-er is not allow to use HKSAR Passport to go to Shenzhen.
Both full British Passport and BNO reuires travel visa to enter China. No On Arrival Visa and Visa Waiver for British unfortunately.
The safest way for you is to hold a 回鄉證 to go to Shanghai, avoiding the possibility of refused entry.