only后接的是介词短语,而不是状语从句。介词短语也可以表示条件。至于主句该用陈述语气还是虚拟语气,取决于在说话人看来条件是否有实现的可能。如果条件是可能实现的,则条件为真实条件,主句就用陈述语气,用will表示根据条件成立时所做的推测。如果说话人认为条件不可能实现或实现的几率太小,则为非真实条件或称为虚拟条件,此时主句用虚拟语气,即用would表示在假设的不可能实现的条件基础上所做的推测。在虚拟语气的主句中,should通常不用做推测意义,而是表示责任、义务等非推测意义。所以,这个句子即使是虚拟语气,主句也不应该用should 而应该用would。所以正确选项为B。