不可调用的成员不能像方法一样使用
我一直在查看对这个错误的一些回复,但我还没有弄清楚。
以下是我的声明:
private IEnumerable<string> _dataFields = null;
[DataMember(Name = "data_fields")]
public IEnumerable<string> DataFields
{
get
{
if (_dataFields == null)
{
_dataFields = new List<string>();
}
return _dataFields;
}
set { _dataFields = value; }
}下面是我使用数据字段并获取错误的地方,该错误在ExpectedDataFields(索引)和result.DataFields(索引)中抛出:
internal void OnDeserializedPopulateQueryResults(StreamingContext context)
{
if (this.ExpectedDataFields.Count() > 0 && this.QueryResults.Count() > 0)
{
foreach (ProxMatchOutputContract result in this.QueryResults)
{
for (int index = 0; index <= (int)result.DataFields.Count() - 1; index++)
{
*result.DataField[this.ExpectedDataFields(index)] = result.DataFields(index);*
}
}
}发布于 2012-08-20 12:18:49
这段代码
result.DataField[this.ExpectedDataFields(index)]尝试将DataField视为具有索引器,而IEnumerable<string>没有。
也许可以将属性的定义更改为具有索引器的内容,如List<string>。
此外,我假设该行周围的星号是一个打字错误,或者可能是试图设置行的斜体格式(当该行已经格式化为代码时,这不起作用)。
https://stackoverflow.com/questions/12032213
复制相似问题