Articles of atributos personalizados

Prioridad de ejecución en atributos personalizados en asp.net mvc

Tengo dos atributos personalizados en mi aplicación asp.net mvc (C #). [CustAttribute1()] [CustAttribute2()] Cuando uso esos atributos para mis acciones, ¿cuáles se ejecutarán primero? [CustAttribute1()] [CustAttribute2()] public ActionResult Index() { ¿Puedo usar más de un atributo personalizado para mis acciones? Si es así, en la Acción anterior, ¿qué atributo personalizado se ejecutará primero?

Pasando parámetro personalizado en atributo personalizado – ASP.NET MVC

Mi objective es crear un atributo personalizado como System.ComponentModel.DataAnnotations.Display que me permite pasar un parámetro. Ej .: En System.ComponentModel.DataAnnotations.Display puedo pasar un valor al parámetro Nombre [Display(Name = “PropertyName”)] public int Property { get; set; } Quiero hacer lo mismo pero en controladores y acciones como abajo. [CustomDisplay(Name = “Controller name”)] public class HomeController : […]

¿Es posible consultar atributos personalizados en C # durante el tiempo de comstackción (no en tiempo de ejecución)?

En otras palabras, ¿podría ser posible crear un ensamblaje que ni siquiera se compile (suponiendo que el código de verificación no se elimine) si cada una de las Clases no tiene (“debe tener”) atributos personalizados (por ejemplo, Autor y Versión)? Aquí está el código que he usado para consultar durante el tiempo de ejecución: using […]

C # .NET CORE ¿cómo obtener el valor de un atributo personalizado?

Tengo una clase de atributo personalizado definida de la siguiente manera. [AttributeUsage(AttributeTargets.Property, Inherited = false)] internal class EncryptedAttribute : System.Attribute { private bool _encrypted; public EncryptedAttribute(bool encrypted) { _encrypted = encrypted; } public virtual bool Encrypted { get { return _encrypted; } } } Apliqué el atributo anterior a otra clase de la siguiente manera. […]

Pasando un tipo como parámetro a un atributo

Escribí un mecanismo de deserialización un tanto genérico que me permite construir objetos a partir de un formato de archivo binario utilizado por una aplicación C ++. Para mantener las cosas limpias y fáciles de cambiar, hice una clase de Field que amplía el Attribute , se construye con el Field(int offset, string type, int […]

Cómo conectar parámetros de método en atributo personalizado

Tengo un atributo personalizado llamado AuthoriseAttribute cuyo constructor se parece a esto: public AuthoriseAttribute(int userId) { .. blah } Esto se usa con un método llamado GetUserDetails() como este: [Authorise(????????)] public UserDetailsDto GetUserDetails(int userId) { .. blah } En tiempo de ejecución, la presencia del atributo Autorizar hace que se ejecute algún código de autorización […]

Anular propiedad setter y getter

¿Hay alguna forma de anular el setter y el getter de una propiedad automática con un atributo? Me gusta esto: [CustomAttribute] public int Value { get; set; } … public class CustomAttibute : Attribute { public override NotExistingPropertySetter(object value) { if (((int)value) < 10 ) { value = 10; } } }

Atributos xml en interfaces y clases abstractas.

Encontré algo que me confundió hoy: 1. Si tengo esto: public interface INamed { [XmlAttribute] string Name { get; set; } } public class Named : INamed { public string Name { get; set; } } Da la siguiente salida (Nombre propiedad serializada como elemento): Johan 2. Si tengo esto: public abstract class NamedBase { […]

Cómo pasar los nombres de propiedad / árbol de expresión comprobados del comstackdor a un atributo personalizado

En algunos lugares, he notado que los árboles de expresiones pasaron como argumentos a métodos para permitir la comstackción de nombres de propiedades. Por ejemplo, Caliburn Micro tiene la siguiente firma de método en su clase PropertyChangedBase: public virtual void NotifyOfPropertyChange(Expression<Func> property); Tengo un atributo personalizado que me gustaría tener el mismo tipo de comprobación […]

¿Por qué serializar la versión con JsonPropertyAttribute no funciona?

Estoy intentando serializar un objeto con un campo estático System.Version : [JsonObject(MemberSerialization.OptIn)] public class MyObj { [JsonProperty] private static string testStr; [JsonProperty(ItemConverterType = typeof(VersionConverter))] private static Version ver = System.Reflection.Assembly…Version; // some other non-serialized fields // … } Aprendí de esta pregunta que la Version necesita un convertidor personalizado, que agregué como ItemConverterType . Sin […]