データ注釈を使用してクラスを検証しようとしていますが、メタデータ クラスを使用しています。
[MetadataType(typeof(TestMetaData))]
public class Test
{
public string Prop { get; set; }
internal class TestMetaData
{
[Required]
public string Prop { get; set; }
}
}
[Test]
[ExpectedException(typeof(ValidationException))]
public void TestIt()
{
var invalidObject = new Test();
var context = new ValidationContext(invalidObject, null, null);
context.MemberName = "Prop";
Validator.ValidateProperty(invalidObject.Prop, context);
}
テストは失敗します。メタデータ クラスを捨てて、実際のクラスのプロパティを装飾するだけで問題なく動作します。私は間違っていますか?これは私を狂気の危機に瀕させています。助けてください。