泛型object在许多情况下确实胜过,但只有在知道类型的地方.
有些时候你还不知道类型 - object或者其他一些相关的基类型就是这些情况下的答案.
例如:
object o = Activator.CreateInstance("Some type in an unreferenced assembly");
Run Code Online (Sandbox Code Playgroud)
您将无法转换该结果,甚至可能无法在编译时知道该类型是什么,因此object是有效的用法.
你的同事过于泛化 - 或许指出他在这个问题上.仿制药很棒,给他那么多,但他们不会"替换" object.