Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446

    [C#]problema con ereditarietà classi

    Cosa vuol dire?
    No overload for method 'Object' takes '2' arguments
    Io ho definito il costruttore della classe base così:

    codice:
    protected PaintRectangle(Rectangle r, string title)//title
        {
          this.Bounds = r;
          _title = title;//title
          init();
        }
    Poi ho definito 2 classi derivate:
    codice:
    public class ImageRectangle
      {
      string _imgFilepath;
    
        public ImageRectangle(Rectangle r, string Filename, string imgFilepath): base(r,Filename)
        {
          _imgFilepath = imgFilepath;
          init();
        }
      
    
    public class TextRectangle
      {
        string _text;
    
        public TextRectangle(Rectangle r, string Filename, string text): base(r,Filename)
          {
            _text = text;
            init();
          }
      }}
    Quello che vorrei io è che il metodo base contenga solo rectangle e title mentre quelli derivati abbiano in comune il rectangle e il title, mentre abbiano nel loro costrutto un campo in più, uno per ImageRectangle con il percorso del file e uno, per TextRectangle con una stringa di testo.

  2. #2

    Re: [C#]problema con ereditarietà classi

    Originariamente inviato da 83kiara83
    No overload for method 'Object' takes '2' arguments
    Nel tuo codice non hai scritto che le due classi in questione devono ereditare dall'altra classe, pertanto la clausola :base richiama un presunto costruttore di Object, classe base di qualunque oggetto .NET, che accetti come parametri un Rectangle e una stringa.
    [code]
    codice:
    public class ImageRectangle  : NomeClasseBase //NomeClasseBase è il nome della classe da cui devono derivare, che non hai inserito nel tuo post
      {
      string _imgFilepath;
    
        public ImageRectangle(Rectangle r, string Filename, string imgFilepath): base(r,Filename)
        {
          _imgFilepath = imgFilepath;
          init();
        }
      
    
    public class TextRectangle : NomeClasseBase //NomeClasseBase è il nome della classe da cui devono derivare, che non hai inserito nel tuo post
      {
        string _text;
    
        public TextRectangle(Rectangle r, string Filename, string text): base(r,Filename)
          {
            _text = text;
            init();
          }
      }}
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.