Атрибут .NET 4 RTM MetadataType игнорируется при использовании Validator

Я использую VS 2010 RTM и пытаюсь выполнить базовую проверку простого типа с использованием MetadataTypeAttribute. Когда я помещаю атрибут проверки в основной класс, все работает. Однако, когда я помещаю его в класс метаданных, он, кажется, игнорируется. Я, должно быть, упускаю что-то тривиальное, но я застрял на этом некоторое время.

Я рассмотрел блок проверки Enterprise Library как обходной путь, но он не поддерживает проверку отдельных свойств из коробки. Есть идеи?

class Program
{
    static void Main(string[] args)
    {
        Stuff t = new Stuff();

        try
        {
            Validator.ValidateProperty(t.X, new ValidationContext(t, null, null) { MemberName = "X" });
            Console.WriteLine("Failed!");
        }
        catch (ValidationException)
        {
            Console.WriteLine("Succeeded!");
        }
    }
}

[MetadataType(typeof(StuffMetadata))]
public class Stuff
{
    //[Required]  //works here
    public string X { get; set; }
}

public class StuffMetadata
{
    [Required]  //no effect here
    public string X { get; set; }
}

Ответы на вопрос(2)

Ваш ответ на вопрос