我有这门课:
class Salaries : IEnumerable
{
List<double> salaries = new List<double>();
public Salaries()
{
}
public void Insert(double salary)
{
salaries.Add(salary);
}
public IEnumerator GetEnumerator()
{
return salaries.GetEnumerator();
}
}
Run Code Online (Sandbox Code Playgroud)
在程序中我尝试添加一些像这样的值:
Salaries mySalaries = new Salaries() { 1000, 2000, 3000 };
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
'薪水'不包含'添加'的定义,也没有扩展方法'添加'可以找到接受"薪金"类型的第一个参数(你是否缺少使用指令或汇编引用?)
为什么我会收到此错误?
我在哪里可以找到(使用VS)我需要实现的Add功能?
如果我查看List定义,我可以看到更多函数,那么编译器为什么要我实现Add呢?
(我知道如果我将类中的方法从Insert更改为Add它没关系.但问题是为什么只添加,它来自哪里?)
因为您Add在使用集合初始值设定项时调用该方法.
Salaries mySalaries = new Salaries() { 1000, 2000, 3000 };
Run Code Online (Sandbox Code Playgroud)
由编译器翻译为:
Salaries mySalaries = new Salaries();
mySalaries.Add(1000);
mySalaries.Add(2000);
mySalaries.Add(3000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |