【发布时间】:2018-06-13 10:09:04
【问题描述】:
我已经完成了编写一个程序的作业,该程序由 2 个单独的项目组成,包含正方形、矩形和平行六面体的类,并且能够计算它们的面积。我认为我已正确完成所有操作并连接了项目,但是当我尝试编译代码时,我不断收到此错误消息:
Program * 不包含适用于入口点的静态“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);
}
}
}
【问题讨论】:
-
您确定问题不在于
CSquare/CRectangle上缺少的SF/V覆盖吗?添加这些,它会为我编译... -
注意:构建选项之一是一个开关,它告诉它什么类型在...中寻找
Main方法,如果你有指定 那个,但指定不正确:它不起作用。尝试更改该值 - 它是项目属性中的“启动对象”,在“应用程序”选项卡上 - 或 csproj 中的<StartupObject> -
邮政编码作为问题的一部分,而不是在 pastebin 上。