Articles of attributi

Come creare regularExpressionAttribute con pattern dinamico derivano dalla proprietà del modello

public class City { [DynamicReqularExpressionAttribute(PatternProperty = “RegEx”)] public string Zip {get; set;} public string RegEx { get; set;} } Mi piacerebbe creare questo attributo in cui il modello proviene da un’altra proprietà e non dichiarare statico come nel RegularExpressionAttribute originale. Qualsiasi idea sarebbe apprezzata – Grazie

Se gli attributi vengono costruiti solo quando vengono riflessi, perché i costruttori di attributi sono così limitati?

Come mostrato qui , i costruttori di attributi non vengono chiamati finché non si riflette per ottenere i valori degli attributi. Tuttavia, come forse saprai, puoi solo passare i valori costanti in fase di compilazione per attribuire i costruttori. Perchè è questo? Penso che molte persone preferirebbero fare qualcosa del genere: [MyAttribute(new MyClass(foo, bar, baz, […]

Come leggere il valore per un attributo EnumMember

public enum Status { Pending, [EnumMember(Value = “In Progress”)] InProgress, Failed, Success } string dbValue = “In Progress”; if (dbValue == ValueOf(Status.InProgress)){ //do some thing } Come faccio a leggere il valore di Status.InProgress così torno “in corso”?

Utilizzo degli attributi per la documentazione in C #

Nell’esercitazione degli attributi MSDN usano Author come esempio per un attributo: [Author(“Jane Programmer”, Version = 2), IsTested()] class Order { // add stuff here … } Questa mi è sembrata una buona idea perché ti permetterebbe di usare il reflection per raggruppare le classi per autore (per esempio) – esponendo in modo efficace i metadati […]

Come creare gli attributi consentiti duplicati

Sto usando un attributo personalizzato ereditato da una class di attributi. Lo sto usando in questo modo: [MyCustomAttribute(“CONTROL”)] [MyCustomAttribute(“ALT”)] [MyCustomAttribute(“SHIFT”)] [MyCustomAttribute(“D”)] public void setColor() { } Ma viene visualizzato l’errore “Attributo” MyCustomAttribute “” duplicato “. Come posso creare un attributo duplicato consentito?

Perché l’attributo target ‘typevar’ non è documentato?

Come è noto, in C # è ansible specificare la destinazione di una specifica di attributo personalizzato, come nell’esempio [method: SomeDecoration] [return: SomeOtherMark] int MyMethod(); dove il method: “target” method: e return: help specifica quale elemento nel codice appartiene l’attributo. In base alla specifica del linguaggio C #, esistono i seguenti obiettivi di attributo: Quelli […]

Implementazione di base dell’attributo AOP like utilizzando standard .NET Framework

Possibile duplicato: Metodo di avvolgimento C # tramite attributi Mi piacerebbe ottenere tale funzionalità: [Atomic] public void Foo() { /* foo logic */ } Dove [Atomic] è un attributo che racchiude la logica della funzione all’interno di un ambito di transazione: using(var scope = new TransactionScope()) { /* foo logic */ scope.Complete(); } Come scrivere […]

Come posso ottenere XMLSerializer per aggiungere spazi dei nomi agli attributi negli oggetti nidificati?

Questo è quello che ottengo: ipsum Questo è quello che voglio: (Si noti che l’attributo Type ha il prefisso ex.) ipsum Questo è il mio codice: [XmlType(Namespace = “http://www.example.com/namespace”)] [XmlRoot(“ex”, Namespace = “http://www.example.com/namespace”)] public class TestSoapHeader : SoapHeader { private TestSoapHeaderTypeValuePair _a; public TestHeader() { MustUnderstand = true; } [XmlNamespaceDeclarations] public XmlSerializerNamespaces xmlsn { get […]

Limitazioni degli attributi sui generici C #

Ho la seguente dichiarazione di metodo: public static bool SerializeObject(string filename, T objectToSerialize){ Voglio limitare T ai tipi decorati con l’attributo [Serializable] . Quanto segue non funziona perché “Attributo ‘System.SerializableAttribute’ non è valido su questo tipo di dichiarazione. È valido solo su ‘Class, Enum, Struct, Delegate’.”: public static bool SerializeObject(string filename, [Serializable] T objectToSerialize) Comprendo […]

System.Runtime.InteropServices.GuidAttribute è usato per qualsiasi cosa tranne l’interoperabilità COM

Sto cercando di capire perché questo attributo è stato aggiunto a una class. Google cerca solo materiale correlato alla COM quando lo cerco; ma l’applicazione non fa nulla tramite COM. Il commento di controllo non fornisce alcuna illuminazione (si riferiva alle altre modifiche apparentemente non correlate fatte nello stesso momento); né ha letto il mio […]