我正在写一些类,如果没有"使用System.Linq"它就不会编译.但我不明白为什么需要它.我写的与Linq无关.我怎样才能找到命名空间的使用位置?
写得非常糟糕的代码(我想知道我想要它做什么):
using System;
using System.Collections;
using System.Collections.Generic;
//using System.Linq;
using System.Text;
namespace DateFilename
{
public class FailedFieldsList
{
private static List<FailedFields> ErrorList = new List<FailedFields>();
public void AddErrorList(FailedFields errs)
{
ErrorList.Add(errs);
}
public void addSingleFailedField(string vField, string vMessage)
{
//FailedFields
}
public List<FailedFields> GetErrorList()
{
return ErrorList;
}
public class FailedFields
{
public List<FailedField> ListOfFailedFieldsInOneRecord = new List<FailedField>();
public class FailedField
{
public string fieldName;
public string message;
public FailedField(string vField, string vMessage)
{
this.fieldName = vField;
this.message = vMessage;
}
public override string ToString()
{
return fieldName + ", " + message;
}
}
public void addFailedField(FailedField f)
{
ListOfFailedFieldsInOneRecord.Add(f);
}
public int getFailedFieldsCount()
{
return ListOfFailedFieldsInOneRecord.Count();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我不包含linq命名空间时产生的错误消息:
Error 4 Non-invocable member 'System.Collections.Generic.List<DateFilename.FailedFieldsList.FailedFields.FailedField>.Count' cannot be used like a method. D:\Slabo\My Documents\Visual Studio 2008\Projects\DateFilename\DateFilename\FailedFieldsList.cs 47 54 DateFilename
谢谢
问题出在上一个方法中:
public int getFailedFieldsCount() {
return ListOfFailedFieldsInOneRecord.Count();
}
Run Code Online (Sandbox Code Playgroud)
方法Count()不是List(T)的成员.该物业计数,但是,是.如果用Count替换Count(),则无需使用System.Linq即可编译.
通过包含System.Linq,您可以启用扩展方法Count(),这会让人感到困惑,完全相同.
有关列表(T)的详细信息,请参阅msdn上的List(T)成员.
| 归档时间: |
|
| 查看次数: |
1775 次 |
| 最近记录: |