在調用Register時傳進去的Metadata可以在另外的地方被覆蓋而不起作用,
在調用RegisterAttached時傳進去的Metadata在另外的地方可以被“覆蓋”,但是始終是有效的。
這一點可以從他們的實現看出來,其實也就是傳給RegisterCommon的Metadata不能被覆蓋。
在RegisterCommon時傳進去的Metadata在任何type在SetValue的時候都會起作用,但是某type在Override的Metadata只在該type SetValue的時候起作用。