2010-04-25 14 views
5

¿Alguien sabe si es posible definir/declarar en su propio atributo personalizado una restricción al tipo de campo en el que se puede aplicar? Hay unas banderas que restringen el uso del atributo:restringir el tipo de propiedad de un atributo personalizado

[AttributeUsage(
AttributeTargets.Property, 
AllowMultiple = false)] 

Im buscando algo como:

UseOnlyOnType = typeof(string) 

¿Alguna idea?

Respuesta

4

Esto no es posible directamente.

Pero ya que tiene que escribir código para hacer uso del atributo (por sí solo son solo metadatos no utilizados), ese código podría funcionar solo buscando su atributo cuando el tipo del campo es string.

3

No hay forma de que el compilador lo compruebe: su mejor opción será una verificación en tiempo de ejecución del campo con reflexión.

Cuestiones relacionadas