Это только генерация кода во время компиляции, которая делает трюк?Или задействованы какие-то механизмы времени выполнения?
Метаданные проверки предоставляются только codegen. Проверка Silverlight использует MemberInfo.GetCustomAttributes () (в System.Reflection) для определения метаданных, и я не верю, что есть какие-либо способы подключиться к ним.