2015-01-06 17 views
5

dopo l'installazione di R # 9.0 il mio layout di file personalizzato da 8.2 non ha funzionato più. Ho ricreato lo stesso pattern usando il designer del layout che è nuovo in 9.0.Layout del file del ricercatore 9: definizione dell'ordine di ordinamento quando l'ordinamento per modificatore di accesso non è possibile?

La parte non ho potuto riproduco è stata la definizione ordinamento dettagliato per proprietà utilizzando modificatori di accesso:

pre-9.0 Si presentava così:

[...] 
<Sort> 
    <Access Order="private public internal protected-internal protected"/> 
</Sort> 
[...] 

... causando la proprietà di essere ordinato come definito - in particolare: private prima!

In 9,0 quando si utilizza il nuovo progettista del prodotto XAML è la seguente:

[...] 
<Entry.SortBy> 
    <Access /> 
</Entry.SortBy> 
[...] 

... che ordina ancora i membri per il loro accesso modificatore ma usando un po 'di ordine spec di default. Il progettista non consente di specificare alcun attributo aggiuntivo e di modificare manualmente XAML, poiché nella versione precedente alla 9.0 genera errori.

C'è un modo in R # 9.0 per controllare l'ordine di public, private membri ecc come questo?

Btw. lo stesso problema esiste per altre specifiche di ordinamento come Kind: non è più possibile specificare che ad es. property andar dinanzi method ecc

risposta

4

Come si scopre l'ordine può ancora essere specificato come in pre-9.0 - ma con un po 'diversa sintassi:

[...] 
<Entry.SortBy> 
    <Access Order="private public internal protectedinternal protected"/> 
</Entry.SortBy> 
[...] 

La differenza era che protected-internal deve ora essere protectedinternal invece ...

Inoltre, tenere presente che è necessario farlo manualmente nella vista XAML poiché il progettista del layout visivo non supporta ancora questa impostazione. (ma rileverà errori nelle tue modifiche - quindi assicurati di passare avanti e indietro da XAML a Designer per controllare se hai rotto qualcosa).

Per la seconda parte in merito ai tipi: possono anche essere ordinati. Questa era una mia supervisione.

Edit: Una voce tutto sembra poi così:

<Entry DisplayName="non-private Fields"> 
    <Entry.Match> 
    <And> 
     <Kind Is="Field" /> 
     <Not> 
     <Access Is="Private" /> 
     </Not> 
    </And> 
    </Entry.Match> 
    <Entry.SortBy> 
    <Access Order="Public Internal ProtectedInternal Protected Private" /> 
    <Name Is="Enter Pattern Here" /> 
    </Entry.SortBy> 
</Entry> 
+0

potrebbe condividere il tuo XAML? Sto facendo fatica a farlo funzionare. –

+0

@RobertChrist: Ho modificato la mia risposta in quanto non ho potuto ottenere un blocco di codice da mostrare correttamente all'interno della sezione dei commenti. HTH – cob

+0

Grazie! L'ho fatto funzionare:) –