在调用Register时传进去的Metadata可以在另外的地方被覆盖而不起作用,
在调用RegisterAttached时传进去的Metadata在另外的地方可以被“覆盖”,但是始终是有效的。
这一点可以从他们的实现看出来,其实也就是传给RegisterCommon的Metadata不能被覆盖。
在RegisterCommon时传进去的Metadata在任何type在SetValue的时候都会起作用,但是某type在Override的Metadata只在该type SetValue的时候起作用。