Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 程序*不包含静态';主要';方法适用于带有代码的入口点*_C#_Oop - Fatal编程技术网

C# 程序*不包含静态';主要';方法适用于带有代码的入口点*

C# 程序*不包含静态';主要';方法适用于带有代码的入口点*,c#,oop,C#,Oop,我的家庭作业是制作一个程序,由两个独立的项目组成,包含正方形、矩形和平行六面体的类,并且能够计算它们的面积。我认为我已经正确地完成了所有工作并连接了项目,但当我尝试编译代码时,我一直收到以下错误消息: 程序*不包含适合入口点的静态“Main”方法 我的两个项目都有静态的Main方法 第一个项目 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Thr

我的家庭作业是制作一个程序,由两个独立的项目组成,包含正方形、矩形和平行六面体的类,并且能够计算它们的面积。我认为我已经正确地完成了所有工作并连接了项目,但当我尝试编译代码时,我一直收到以下错误消息:

程序*不包含适合入口点的静态“Main”方法

我的两个项目都有静态的Main方法

第一个项目

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace zad8
{
    public abstract class CFormulas
    {
        abstract public double S();
        abstract public double P();
        abstract public double SF();
        abstract public double V();
    }
    public class CSquare : CFormulas
    {
        double a { get; set; }
        public CSquare(double a)
        { this.a = a; }
        public override double S() { return a * a; }
        public override double P() { return 4 * a; }

    }
   public class CRectangular : CFormulas
    {
        public double a { get; set; }
        public double b { get; set; }
        public CRectangular(double a, double b)
        {
            this.a = a;
            this.b = b;
        }
        public override double S() { return a * b; }
        public override double P() { return 2 * (a + b); }
    }
    class zad
    {
        static void Main(string[] args)
        {
            CSquare f1 = new CSquare(5);
            Console.WriteLine("Лицето на квадрата е {0}, а периметъра е {1}.", f1.S(), f1.P());
            CRectangular f2 = new CRectangular(2, 3);
            Console.WriteLine("Лицето на правоъгълника е {0}, а периметъра е {1}.", f2.S(), f2.P());
            Console.ReadKey(true);
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using zad8;


namespace zad8
{
    class CParallelepiped : CRectangular
    {
        public CParallelepiped(double a, double b, double h) : base(a, b) {
            this.h = h;
            this.a = a;
            this.b = b;
        }
        double h { get; set; }
        //public CParallelepiped(double h) { this.h = h; }



        public override double SF() { return 2 * (a*b+b*h+h*a); }
        public override string ToString()
        {
            return string.Format("Пълната повърхнина на фигурата е {0}",SF());
        }
        public override double V() { return a*b* h; }
        public override string ToString() { return string.Format("Обема на фигурата е {0}", V()); }
    }

    class Program
    {
        static void Main(string [] args)
        {
            //CParallelepiped f3 = new CParallelepiped(1,2,3);
            //Console.WriteLine("Пълната повърхнина на паралелепипеда е {0}.", f3.SF());
            Console.ReadKey(true);
        }
     }
}
第二个项目

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace zad8
{
    public abstract class CFormulas
    {
        abstract public double S();
        abstract public double P();
        abstract public double SF();
        abstract public double V();
    }
    public class CSquare : CFormulas
    {
        double a { get; set; }
        public CSquare(double a)
        { this.a = a; }
        public override double S() { return a * a; }
        public override double P() { return 4 * a; }

    }
   public class CRectangular : CFormulas
    {
        public double a { get; set; }
        public double b { get; set; }
        public CRectangular(double a, double b)
        {
            this.a = a;
            this.b = b;
        }
        public override double S() { return a * b; }
        public override double P() { return 2 * (a + b); }
    }
    class zad
    {
        static void Main(string[] args)
        {
            CSquare f1 = new CSquare(5);
            Console.WriteLine("Лицето на квадрата е {0}, а периметъра е {1}.", f1.S(), f1.P());
            CRectangular f2 = new CRectangular(2, 3);
            Console.WriteLine("Лицето на правоъгълника е {0}, а периметъра е {1}.", f2.S(), f2.P());
            Console.ReadKey(true);
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using zad8;


namespace zad8
{
    class CParallelepiped : CRectangular
    {
        public CParallelepiped(double a, double b, double h) : base(a, b) {
            this.h = h;
            this.a = a;
            this.b = b;
        }
        double h { get; set; }
        //public CParallelepiped(double h) { this.h = h; }



        public override double SF() { return 2 * (a*b+b*h+h*a); }
        public override string ToString()
        {
            return string.Format("Пълната повърхнина на фигурата е {0}",SF());
        }
        public override double V() { return a*b* h; }
        public override string ToString() { return string.Format("Обема на фигурата е {0}", V()); }
    }

    class Program
    {
        static void Main(string [] args)
        {
            //CParallelepiped f3 = new CParallelepiped(1,2,3);
            //Console.WriteLine("Пълната повърхнина на паралелепипеда е {0}.", f3.SF());
            Console.ReadKey(true);
        }
     }
}

在您的实现中有几个问题,但主要方法不是其中之一

  • 您需要实现所有抽象成员
  • CParallelepiped
  • 您可能不应该从其他控制台应用引用控制台应用。使用类库来代替
编译以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using zad8;


namespace zad8
{
    public abstract class CFormulas
    {
        abstract public double S();
        abstract public double P();
        abstract public double SF();
        abstract public double V();
    }
    public class CSquare : CFormulas
    {
        double a { get; set; }
        public CSquare(double a)
        { this.a = a; }
        public override double S() { return a * a; }
        public override double P() { return 4 * a; }
        public override double SF()
        {
            throw new NotImplementedException();
        }

        public override double V()
        {
            throw new NotImplementedException();
        }
    }
    public class CRectangular : CFormulas
    {
        public double a { get; set; }
        public double b { get; set; }
        public CRectangular(double a, double b)
        {
            this.a = a;
            this.b = b;
        }
        public override double S() { return a * b; }
        public override double P() { return 2 * (a + b); }
        public override double SF()
        {
            throw new NotImplementedException();
        }

        public override double V()
        {
            throw new NotImplementedException();
        }
    }

    class CParallelepiped : CRectangular
    {
        public CParallelepiped(double a, double b, double h) : base(a, b) {
            this.h = h;
            this.a = a;
            this.b = b;
        }
        double h { get; set; }
        //public CParallelepiped(double h) { this.h = h; }



        public override double SF() { return 2 * (a*b+b*h+h*a); }

        public override double V() { return a*b* h; }
        public override string ToString() { return string.Format("Обема на фигурата е {0}", V()); }
    }

    class Program
    {
        static void Main(string [] args)
        {
            //CParallelepiped f3 = new CParallelepiped(1,2,3);
            //Console.WriteLine("Пълната повърхнина на паралелепипеда е {0}.", f3.SF());
            Console.ReadKey(true);
        }
     }
}

您确定问题不在于
CSquare
/
CRectangle
上缺少的
SF
/
V
覆盖吗?添加这些,它会为我编译…注意:其中一个构建选项是一个开关,告诉它在中查找
Main
方法的类型。。。如果您指定了,但指定不正确:它将不起作用。尝试更改该值-它是项目属性中的“应用程序”选项卡上的“启动对象”,或作为问题的一部分在csprojPost代码中的
,而不是在pastebin上。