0

不可调用的成员不能像方法一样使用

我一直在寻找对这个错误的一些回应,但我还没有弄清楚。

这里是我的报关表:

   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; }
    }

这是我使用 Datafields 并得到错误的地方,该错误被抛出 ExpectedDataFields(index) 和 result.DataFields(index):

     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);*

                }

            }
        }
4

1 回答 1

0

这段代码

result.DataField[this.ExpectedDataFields(index)]

尝试将 DataField 视为具有索引器,但IEnumerable<string>实际上并没有。

也许将您的属性的定义更改为具有索引器的内容,例如List<string>.

另外,我假设该行周围的星号是一个错字,或者可能是尝试格式化该行斜体(当该行已被格式化为代码时,这不起作用)。

于 2012-08-20T04:18:49.143 回答