C#中的Target是什么?我在哪里可以使用目标?

时间:2016-04-04 15:22:05

标签: c#

程序正在执行,但我对接口有一些了解,以及如何使用它们。在CompareTo方法实现中,我发现了目标和双差异,我完全无法得到它们。直到CompareTo方法我才明白。

 class Polygon
public virtual void Draw()
        {
            Console.WriteLine("Drawing Polygon");
        }
interface IComparable
    {
        int CompareTo(object obj);
    }
     class Program:Polygon,IComparable
    {
        private double Length { get; set; }
        private double Width { get; set; }
        public override void Draw()
        {
            Console.WriteLine("Drawing: Rectangle");
        }
        public double GetArea()
        {
            return Length * Width;
        }
        public int CompareTo(object obj)
        {
            if (obj == null)
                return 1;
            if (!(obj is Program))
                throw new ArgumentException();
            Program target = (Program)obj;
            double diff = this.GetArea() - target.GetArea();
            if (diff == 0)
                return 0;
            else if (diff > 0)
                return 1;
            else return -1;
        }
        static void Main()
        {
            Program rect1 = new Program { Length = 10, Width = 20 };
            Program rect2 = new Program { Length = 100, Width = 200 };
            Console.WriteLine(rect1.CompareTo(rect2));
            Console.ReadKey();
        }

    }

1 个答案:

答案 0 :(得分:4)

targetProgram类型的变量,它是一个类。该变量在函数CompareTo内,因此它只能在函数内引用并在声明和定义之后引用,即:Program target = (Program)obj;

您似乎需要重新阅读C#中的入门教材或在线课程。

相关问题