gpt4 book ai didi

c# - object.object 的最佳重载匹配有一些无效参数

转载 作者:行者123 更新时间:2023-11-30 21:03:37 25 4
gpt4 key购买 nike

我正在尝试创建一个发票类型的新对象。我以正确的顺序传入必要的参数。

但是,它告诉我我包含了无效参数。我可能在这里忽略了一些非常简单的事情,但也许有人可以指出。

我正在做家庭作业,但是包含了 Invoice.cs 文件以供项目使用。

我正在寻求的唯一解决方案是为什么我的对象不接受这些值。我以前从未遇到过对象问题。

这是我的代码:

static void Main(string[] args)
{
Invoice myInvoice = new Invoice(83, "Electric sander", 7, 57.98);
}

这是实际的 Invoice.cs 文件:

// Exercise 9.3 Solution: Invoice.cs
// Invoice class.
public class Invoice
{
// declare variables for Invoice object
private int quantityValue;
private decimal priceValue;

// auto-implemented property PartNumber
public int PartNumber { get; set; }

// auto-implemented property PartDescription
public string PartDescription { get; set; }

// four-argument constructor
public Invoice( int part, string description,
int count, decimal pricePerItem )
{
PartNumber = part;
PartDescription = description;
Quantity = count;
Price = pricePerItem;
} // end constructor

// property for quantityValue; ensures value is positive
public int Quantity
{
get
{
return quantityValue;
} // end get
set
{
if ( value > 0 ) // determine whether quantity is positive
quantityValue = value; // valid quantity assigned
} // end set
} // end property Quantity

// property for pricePerItemValue; ensures value is positive
public decimal Price
{
get
{
return priceValue;
} // end get
set
{
if ( value >= 0M ) // determine whether price is non-negative
priceValue = value; // valid price assigned
} // end set
} // end property Price

// return string containing the fields in the Invoice in a nice format
public override string ToString()
{
// left justify each field, and give large enough spaces so
// all the columns line up
return string.Format( "{0,-5} {1,-20} {2,-5} {3,6:C}",
PartNumber, PartDescription, Quantity, Price );
} // end method ToString
} // end class Invoice

最佳答案

您的方法需要一个 decimal 参数,而您传递的是一个 double 值 (57.98)。

根据 MSDN (见备注部分),

There are no implicit conversions between floating-point types and the decimal type.

对于小数你应该添加后缀 'm' 或 'M'

因此,在您的情况下,通过 57.98m 而不是 57.98

This SO answer lists all kinds of suffixes.

关于c# - object.object 的最佳重载匹配有一些无效参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12739229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com