2009-08-06 12 views
6

Qualcuno sa di uno strumento o di un componente aggiuntivo VS che mi consentirà di prendere una classe base e una classe derivata e collassarli in una singola classe "appiattita"? O è un'operazione troppo difficile, data la necessità di far fronte alla risoluzione di membri sovrascritti e nascosti/nuovi?Strumento per fondere Classi Base e Derivati ​​C#

Sfondo: Sto lavorando a un progetto in cui abbiamo una classe base e una singola classe derivata che sarebbe stata la prima di poche altre.

Il lavoro di analisi successivo significa che l'altra classe non sarà più necessaria e la specializzazione si sta dimostrando fuorviante per i programmatori che arrivano nuovi alla base di codice. Mi piacerebbe unire la base e la classe derivata per semplificare le cose (e semplificare la mappatura del database in nHibernate), ma entrambe sono abbastanza grandi - quindi ho pensato che sarebbe valso la pena controllare se uno strumento potesse fare il lavoro.

+0

cosa stai cercando di raggiungere? –

+1

suppone che si sia già pensato questo attraverso? Sembra decisamente una cosa strana da desiderare. Cosa c'è di sbagliato con solo utilizzando la classe derivata? – sbi

+0

Tipo di una cosa strana da voler fare, ma sarebbe interessante vedere se lo strumento è disponibile. –

risposta

6

Come spesso, ReSharper può aiutarti. C'è un'opzione (sotto il menu: Refactor) chiamata "pull members up" dove puoi selezionare i membri da spostare nella classe base.
c'è l'opzione "membri spingere verso il basso per l'altra direzione, anche.

+0

Cool! - Sapevo che esistevano queste opzioni, ma le avrei persino utilizzate solo per spostarle roba tra interfacce e classi di implementazione Grazie! –

+0

Funziona ma è solo in parte automatizzato. Ho registrato la richiesta di funzionalità di Resharper https://youtrack.jetbrains.com/issue/RSRP-427649 per un modo con un clic per unire una base classe con la sua unica classe derivata. –

Problemi correlati