Ich entwickle eine Serialisierungsklasse, die Attribute auf benutzerdefinierte Klassen verwendet, um zu dekorieren, ob eine Eigenschaft ein Format mit fester Länge oder ein abgegrenztes Format ist. Diese beiden Attribute sollten sich gegenseitig ausschließen, was bedeutet, dass der Entwickler entweder [FixedLength]
o [Delimited]
(mit entsprechenden Konstruktoren) auf eine Eigenschaft, aber nicht beides. Um die Komplexität zu verringern und die Sauberkeit zu erhöhen, habe ich nicht die Attribute kombinieren und ein Kennzeichen auf der Grundlage des Formattyps setzen möchten, z. B. [Formatted(Formatter=Formatting.Delimited)]
. Ist es möglich, diese Attribute so einzuschränken, dass sie sich zur Entwurfszeit gegenseitig ausschließen? Ich weiß, wie ich dieses Szenario zur Laufzeit überprüfen kann.