2009-05-27 7 views

risposta

-1

Ho sentito lamentele a riguardo, non credo che sia un'opzione che può essere cambiata.

-1

Intendi dire che la classe stessa non è disponibile in altre classi? O intendi che tutti i contenuti del file sono predefiniti come accesso privato?

Se si desidera che la classe sia visibile in altre classi, è necessario assicurarsi che lo spazio dei nomi sia visibile nell'altra classe (con la parola chiave "using" in C# o semplicemente averli nello stesso spazio dei nomi) .

Non so di quale lingua si parli, ma in C# tutti i metodi, le variabili membro, le proprietà ecc sono predefinite come private. Se vuoi che siano pubblici, devi specificarlo individualmente per ciascun membro. Non penso sia possibile modificare questo comportamento in C#.

1

Esistono altri problemi con i modelli di codice predefiniti: ad esempio, non sono compatibili con StyleCop, poiché le righe "using" si trovano all'esterno della dichiarazione dello spazio dei nomi.

È possibile utilizzare ReSharper per creare i file di classe dai modelli, consentendo di inserire qualsiasi codice nel modello. Questo è quello che faccio :)

11

Per impostazione predefinita una classe senza un identificatore di accesso è interna e un membro è impostato su privato. Ciò mantiene la visibilità il più limitata possibile e quindi aumenta l'incapsulamento.

Rendere pubblica una nuova classe senza nemmeno pensare di rompere l'intera idea di incapsulamento.

Il modello di classe che VS utilizza per creare una nuova classe si possono trovare in questo file zip (in caso di CSharp):

C: \ Programmi \ Microsoft Visual Studio 8 \ Common7 \ IDE \ ItemTemplates \ CSharp \ 1033 \ Class.zip o C: \ Programmi \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 quando si utilizza VS Orcas

Aprire il file zip, aggiungere la parola chiave pubblica, salvare e hai finito. Ogni volta che aggiungi una classe sarà pubblica. Spero che questo ti aiuti.

Source

+0

Doh! sei troppo veloce! –

+0

D'accordo, è stato RAPIDO !!!! Buona risposta. – Skittles

+0

........ ;-) Grazie – Shoban

-1

Non credo che si può cambiare un'opzione in VS in modo che tutte le classi create sono pubblici di default (ma guarderò dentro.)

Vorrei pensare che, a meno che hai una necessità molto specifica che tutte le tue classi siano dichiarate pubbliche (e non posso pensare a nessuna) che tu debba lasciare il default così com'è. Ciò consente di prendere decisioni su quali siano le classi pubbliche e quali dovrebbero rimanere interne. A mio parere, una buona opzione di progettazione imporrebbe che le classi vengano dichiarate "interne" per impostazione predefinita.

Problemi correlati