#CS0144 Non è possibile creare un'istanza della classe o dell'interfaccia astratta 'TextWriter'

di Anonimizzato26047 il
4 risposte
Salve.

Spero possiate aiutarmi!
Scusate se magari dovrete spostare o eliminare la discussione, sono un principiante e non conosco ancora i termini tecnici del mestiere.

Stò scrivendo un programma in C# e vorrei che il mio obbiettivo è mostrare l' output in un textbox.
Ho creato un textWriter quindi, il quale contenuto dovrebbe essere mostrato nella textBox1, con il textWriter nessun problema ma quando provo a fare il "collegamento" mi restituisce l' errore #CS0144 Non è possibile creare un'istanza della classe o dell'interfaccia astratta 'TextWriter'.

Cosa stò sbagliando?

        public class ControlWriter: TextWriter
        {
            private Control textbox;
            public ControlWriter(Control textbox)
            {
                this.textbox = textbox;
            }

            public override void Write(char value)
            {
                textbox.Text += value;
            }

            public override void Write(string value)
            {
                textbox.Text += value;
            }

            public override Encoding Encoding
            {
                get { return Encoding.ASCII; }
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            TextWriter writer = new TextWriter(textBox1);
        }

        private void TextBox1_TextChanged(object sender, EventArgs e)
        {

        }

4 Risposte

  • Non ho capito quello che vuoi fare però posso dirti che probabilmente nella Form1_Load() l'oggetto che devi creare deve essere di tipo ControlWriter e non TextWriter.
  • Il programma mi deve creare una directory all' interno della quale deve spostarmi dei file, voglio che la textbox mi mostri in tempo reale i nomi dei file che sta spostando
  • Non ho capito qual è l'utilità di creare un discendente della classe TextWriter per ottenere il tuo scopo.

    Ad ogni modo, già che hai creato la tua classe di nome ControlWriter, dovresti creare una istanza di questa, e non della classe base TextWriter.
  • Ma perché questa nuova classe? Non vedo a cosa ti possa servire per fare quello che sici si voler fare anche se è abbastanza confuso.
Devi accedere o registrarti per scrivere nel forum
4 risposte