Articles of nested class

Creazione di un’istanza di una class nidificata in XAML

in un file XAML (un UserControl WPF), esiste un modo per fare riferimento a una class interna “B” definita in un’altra class “A”? public class A { public class B { } } Qualcosa di simile a : Questa syntax non funziona perché “B” è interpretato come una proprietà denominata “B” nella class “A”. Ho […]

Avviso di Eclipse riguardo all’accessorio sintetico per classi nidificate statiche private in Java?

Il mio collaboratore mi ha suggerito di rendere più rigorose alcune delle impostazioni di formattazione e avvertenza del codice Eclipse. La maggior parte di questi cambiamenti ha senso, ma ricevo questo strano avvertimento in Java. Ecco alcuni codici di test per riprodurre il “problema”: package com.example.bugs; public class WeirdInnerClassJavaWarning { private static class InnerClass { […]

Utilizzo di tipi enumerati nidificati in Java

Ho in mente una struttura di dati che implica enumerazioni annidate, in modo tale da poter fare qualcosa di simile al seguente: Drink.COFFEE.getGroupName(); Drink.COFFEE.COLUMBIAN.getLabel(); E se ci fossero dichiarazioni di metodo: someMethod(Drink type) someOtherMethod(DrinkTypeInterface type) Quindi potrei dire (appropriatamente): someMethod(Drink.COFFEE) someOtherMethod(Drink.COFFEE.COLUMBIAN) Questo è quello che mi è venuto in mente: public enum Drink { COFFEE(“Coffee”); […]

Quali sono le ragioni per cui si vorrebbe usare classi annidate?

In questa risposta StackOverflow un commentatore ha affermato che ” le classi private nidificate” possono essere piuttosto utili, quindi stavo leggendo su di esse in articoli come questo che tendono a spiegare come funzionano le classi annidate tecnicamente , ma non perché le usereste. Suppongo che userò classi private annidate per piccole classi di helper […]

Le classi interne in C ++ sono automaticamente amici?

Se definisco una class interna in C ++, è automaticamente un amico della class che lo contiene? Ad esempio, questo è legale: class Outer { public: class Inner { public: void mutateOuter(Outer& o); }; private: int value; }; void Outer::Inner::mutateOuter(Outer& o) { o.value ++; // Legal? Or not? } Chiedo perché su alcuni compilatori che […]

Perché dovrei mai aver bisogno di usare le classi nidificate in C #

Sto cercando di capire le classi nidificate in C #. Capisco che una class annidata è una class che è definita all’interno di un’altra class, ciò che non capisco è il motivo per cui avrei mai avuto bisogno di farlo.