Το θέμα είναι λίγο πιο περίπλοκο. Τα StringLengthAttribute και DataMemberAttribute ορίζονται από το ίδιο το .NET, δεν μπορούν να ξαναγραφούν. Αν βέβαια ο xabikos αναφέρεται σε αυτά.
Αυτό που λένε και ο Markos και ο gtas έχει να κάνει με το Inherited attribute. Όταν φτιάχνεις ένα custom attribute ορίζεις πως θα χρησιμοποιηθεί μέσω του AttributeUsage. Μεταξύ των άλλων, ορίζεις και αν θα γίνεται inherit σε subclasses και overriden members ή όχι. Το default είναι true, που σημαίνει ότι ΟΛΑ τα custom attributes γίνονται inherit εκτός και αν ζητήσει το αντίθετο ο δημιουργός τους. Το DataMemberAttribute έχει το Inherit=False.
Μάλλον θα πρέπει να μας εξηγήσει ο xabikos τί θέλει να κάνει για να βγει μία άκρη. Εφόσον τα StringLength, Required και DataMember βρίσκονται στο DataAnnotations namespace υποθέτω ότι θέλει να κάνει κάτι σχετικό με ASP.NET Dynamic Data. Τί ακριβώς θέλεις να κάνεις?
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos