2016-02-26 9 views
5

Nel nostro codice Abbiamo il nostro quadro di iniezione per consentire l'iniezione di dipendenza, come:Resharper: come applicare [NotNull] o [CanBeNull] annotazione implicitamente con un altro attributo?

public class MyClass { 
    [Component("ComponentName1")] // means [NotNull] 
    public MyType NotNullComponent{ get; set; } 

    [OptionalComponent("ComponentName2")] // means [CanBeNull] 
    public MyType CanBeNullComponent { get; set; } 
} 

Non vogliamo aggiungere [CanBeNull] o [NotNull] ovunque di nuovo dal momento che ha duplicato la semantica agli attributi [Component] e [OptionalComponent].

È possibile consentire a Resharper di conoscere la semantica degli attributi personalizzati per facilitare l'analisi statica?

+0

non sembra che sia attualmente possibile. Ho sollevato un problema sul youtrack di ReSharper qui: https://youtrack.jetbrains.com/issue/RSRP-454461 –

+0

@IgalTabachnik Grazie. Sembra che la soluzione più rapida per ora sia scrivere il nostro plugin per il Resharper per supportarlo. –

+0

Ora disponibile nel programma di ricerca come funzione sperimentale. – rolls

risposta

0

È ora possibile utilizzare implicitamente [NotNull] su everthing attivando "implicito" nel Codice di ispezione -> Impostazioni

A meno che non si specifica [CanBeNull] tutto sarà assunta per non permettere nulla.

enter image description here

+0

Non è quello che intendevo. Voglio che Resharper capisca che il nostro attributo personalizzato ha la stessa semantica di NotNull o CanBeNull. –

+0

Potresti estendere il loro attributo? – rolls

Problemi correlati