Ich frage mich, ob jemand weiß, ob xVal wie erwartet funktioniert, wenn ich meine system.componentmodel.dataannotations Attribute auf Schnittstellen definieren, die von meinen Modellklassen implementiert werden, anstatt direkt auf die konkreten Modellklassen.Funktioniert xVal, wenn die Attribute auf Interfaces definiert sind?
public interface IFoo
{
[Required] [StringLength(30)]
string Name { get; set; }
}
und dann in meinem Modell Klasse gäbe es keine Validierung sein Attribut ...
public class FooFoo : IFoo
{
public string Name { get; set; }
}
Wenn ich versuche, eine FooFoo mit xVal zu validieren, wird es die attribs von seiner Schnittstelle verwenden?
Danke für die detaillierte Antwort !! Ich denke, die nächste Frage ist: Gibt es eine einfache Möglichkeit, die Schnittstellen einer Klasse zu durchlaufen? Sie müssten dies tun, um PropertyDescriptors für jede Eigenschaft auf den Schnittstellen zu erhalten. – NathanD
Ich habe einige weitere Informationen darüber hinzugefügt, wie man die implementierten Schnittstellen eines Typs bekommt. –
Sieht ziemlich einfach aus, Vielen Dank! – NathanD