c#错误 1 “Graphics”方法没有采用“0”个参数的重载 ,z这是为啥呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#错误 1 “Graphics”方法没有采用“0”个参数的重载 ,z这是为啥呢相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Text;

namespace __3

public abstract class Graphics

public double a, b, c;
public Graphics(double x, double y, double z)

a = x;
b = y;
c = z;

public virtual void Area()



class Trapezia : Graphics

public Trapezia(double x, double y, double z)

a = x;
b = y;
c = z;


public override void Area()

double s;
s = (a + b) * c / 2;
Console.WriteLine("梯形的面积是0", s);


class Triangle : Graphics

public Triangle(double x, double y, double z)

a = x;
b = y;
c = z;

public override void Area()

double s;
s = a * b / 2;
Console.WriteLine("三角形的面积是:0", s);
Console.ReadLine();



class Text


static void Main(string[] args)

double x, y, z;
Console.WriteLine("请输入a,b,c的值");
x = Convert.ToDouble(Console.ReadLine());
y = Convert.ToDouble(Console.ReadLine());
z = Convert.ToDouble(Console.ReadLine());
Trapezia text1 = new Trapezia(x, y, z);
Triangle text2 = new Triangle(x, y, z);



因为在默认情况下子类/派生类要调用父类/基类的构造函数(不指明就是无参构造函数)
一个类,在你不定义构造函数的情况下,会有默认的无参构造函数。当你定义了有参的构造函数时,默认的无参构造函数不会被系统自动定义。

在以上两点的基础上,所以当你定义Triangle(double x, double y, double z)这个构造函数的时候,实际上它相当于
Triangle(double x, double y, double z) : base()
由于没有Graphics()这个构造函数,所以报错。

解决方法以下两种:
1.定义Graphics()
2.修改Triangle的构造函数为
Triangle(double x, double y, double z) : base(x, y, z)
参考技术A 这类问题都是方法有参数,在你调用的时候没给参数,就报这样的错!

以上是关于c#错误 1 “Graphics”方法没有采用“0”个参数的重载 ,z这是为啥呢的主要内容,如果未能解决你的问题,请参考以下文章

C# 使用GDI(Graphics)绘制 应用 网站 “登录验证码“

C# 使用GDI(Graphics)绘制 应用 网站 “登录验证码“

c# winform 关于绘图的问题,如何定义一个Graphics g作为全局变量

C# winform Graphics 画图问题?

C#编程中,出现 不包含采用“2”参数的构造函数的错误 怎么改?

C# 画图,同时保存为图片 Graphics g = e.Graphics