在Java中,我们可以看到os.name的属性值来知道底层操作系统的名称: System.getProperty("os.name") 。 对于Windows的每一个版本,它总是返回操作系统的确切名称: Windows XP for XP, Windows Vista for Vista, Windows 7 for Seven, Windows 8.1 for 8.1等等… 问题是:我只是使用发布的微软更新程序将Windows 8.1更新到Windows 10,而且似乎仍然保留Windows 8.1 : public class OSTest { public static void main(String[] args) { System.out.println(System.getProperty("os.name")); } } 我怎样才能为此创build一个解决方法? 而且,有没有人知道如果这个问题仍然存在,如果安装新的Windows 10副本 – 也就是说,这个错误是由微软自动更新引起的?
想象下面 T型有一个公司。 当执行下面的方法时,它完美的工作: Type t = typeof(T); t.GetProperty("Company") 下面的电话,但我得到空 Type t = typeof(T); t.GetProperty("company", BindingFlags.IgnoreCase) 有人有个想法吗?
我想覆盖类的__getattr__方法来做一些奇特的事情,但我不想打破默认行为。 什么是正确的方法来做到这一点?