2013-06-05 2 views
0

Я пытаюсь получить приложение прямоугольника для работы, цель состоит в том, чтобы позволить пользователю вводить длину и ширину, но я не знаю, как вызвать методы и получить ввод данных, который будет отображаться на моем выходе.Как использовать методы из других классов?

вот мой класс (langd = длина, bredd = ширина на шведском языке)

namespace _10._3 
{ 
class Rectangle 
{ 
    private double langd; 
    private double bredd; 

    public Rectangle() 
    { 

     langd = 1.0; 
     bredd = 1.0; 

    } 
    public Rectangle(double langden, double bredden) 
    { 
     langd = langden; 
     bredd = bredden; 

    } 

    public double langden 

    { 
     get 
     { 
      return langd; 
     } 
     set 
     { 
      if (value > 0 && value < 20) 
       langden = value; 

      else 
       throw new ArgumentOutOfRangeException("längd", value, "langde måste vara mer än 0 och mindre än 20 "); 
     } 

    } 
    public double bredden 
    { 
     get { 
      return bredd; 

     } 
     set { 
      if (value > 0 && value < 20) 
       bredd = value; 

      else 
       throw new ArgumentOutOfRangeException("bredd", value, "bredden måste vara mer än 0 och mindre än 20"); 

     } 
    } 
    public double omkrats 
    { 
     get 
     { 
      return 2 * langd + 2 * bredd; 
     } 
    } 
    public double area{ 
    get { 
    return langd * bredd; 
    } 


    } 
    public override string ToString() 
    { 
     return string.Format("{0}: {1}{2}: {3}{4}: {5}{6}: {7}", "Längd", langd, "bredd", bredd, "Omkräts", omkrats, "Area", area); 



    } 

} 

}

Вот моя программа:

namespace _10._3 
{ 
    class test 
    { 
     public static void Main(string[] args) 
     { 
      Rectangle rectangle = new Rectangle(); 


      Console.WriteLine("Skriv in längden :"); 
      rectangle.langden = Convert.ToDouble(Console.ReadLine()); 
      Console.WriteLine("Skriv in bredden :"); 
      rectangle.bredden = Convert.ToDouble(Console.ReadLine()); 


      Console.WriteLine(rectangle.ToString()); 

      Console.WriteLine("Längd :"); 
      Console.WriteLine("Bredd :"); 
      Console.WriteLine("Omkräts:"); 
      Console.WriteLine("Area"); 
     } 
    } 
} 
+2

какой язык это ?? :) –

+1

@LittleChild Я бы поставил свою душу, это C#. – Renan

+0

@ Renan нет, не делайте. –

ответ

1

вы пытаетесь использовать свойство getters/seters? (вы, кажется, используете сеттеры просто отлично)

Просто рассматривайте их как var iables

Console.WriteLine("Längd : " + rectangle.langden.ToString()); 

или

Console.WriteLine("Längd : {0}", rectangle.langden); 
+1

на соответствующей заметке, общий стандарт именования, вероятно, назовет ваше свойство длины 'Langd' –

+0

ok спасибо! просто то, что я искал :), но я получаю Необработанное исключение типа «System.StackOverflowException» произошло в 10.3.exe – user2456264

+1

@ user2456264, причина в том, что когда вы делаете 'langden = value;' вы по существу вызываете сеттер изнутри самого себя. измените эту строку на 'langd = value; ' –

Смежные вопросы