2010-12-14 14 views
19

Ho provato a nascondere la proprietà ereditata in intellisense con EditorBrowsable (come detto qui Hiding user control properties from IntelliSense), quando eseguo il test in forma client sebbene possa ancora vederlo perché?Perché EditorBrowsable non funziona?

[ 
Category("Main"), 
Description("Text"), 
Obsolete("Don't use this"), 
Browsable(false), 
EditorBrowsable(EditorBrowsableState.Never) 
] 
public override String Text 
{ 
    get { return null; } 
} 
+0

Pochi anni sono passati, ma per chiunque fosse interessato: https://github.com/dotnet/roslyn/issues/4434 – quetzalcoatl

risposta

19

I repro. C'è una nota in questo articolo di MSDN su questo:

In Visual C#, EditorBrowsableAttribute non sopprimere i membri da una classe nello stesso assembly.

Stranamente, non vedo che sopprime sia quando metto il UserControl in un gruppo differente nella stessa soluzione.
Si consiglia di eseguire il ping su connect.microsoft.com a questo proposito, qualcosa non è corretto.

+0

hai chiuso e riaperto VS? Controlli della cache VS. – eschneider

+0

@escheneider sì ancora non ha risolto. – user310291

+0

almeno sembra che tu abbia lo stesso risultato di me quindi non sono pazzo :) Rinuncerò troppo all'irazionale per me! – user310291

36

Si sta utilizzando il ricondizionatore? Sembra che Resharper non contenga l'attributo l'attributo EditorBrowsable.
Se si disattiva Resharper, non vedo la mia proprietà. Se accendo Resharper, lo spettacolo è .

In Opzioni del ricercatore, andare a Ambiente | IntelliSense | Completamento Aspetto e controllo "Filtra i membri con l'attributo [EditorBrowsable]".

È comunque necessario fare riferimento all'assembly, ma non funziona all'interno di una soluzione se si fa riferimento al progetto di usercontrol.

+0

No, non sto usando Reshaper. Ho aperto il progetto client in un'altra soluzione e punto alla DLL dalla casella degli strumenti e posso ancora vedere la proprietà Text in intellisense. Penso che mi arrenderò mi sembra troppo irazionale :) – user310291

+0

che ha funzionato per me, visto che sto usando il resharper. Anche con la stessa soluzione quando si fa riferimento come progetto funziona. grazie! – afif

+0

Grazie! Dopo ore cercando di farlo funzionare, ho letto la tua risposta e voilá! Funziona perfettamente ora. Grazie, non avrei mai pensato che la risincronizzazione lo stesse causando. –

4

Come detto nei commenti this answer s':

editorbrowsable nasconde solo il metodo se si sta solo importando il dll, non se si sta riferimento a un altro progetto nella soluzione penso