【问题标题】:'FileName' does not contain a definition for '_field' and no extension method '_field' accepting a first argument of type“文件名”不包含“_field”的定义,并且没有扩展方法“_field”接受类型的第一个参数
【发布时间】:2019-08-19 18:37:29
【问题描述】:

过去几个小时我一直在尝试修复这些错误。我不确定为什么会收到 _field 的这些声明错误。我试过在顶部和范围内声明,错误没有改变。我也厌倦了将 _field 声明为私有的。如果你能举一个例子说明代码 sn-p 应该是什么,那将有很大帮助。我在错误消息发生的地方加粗。

**代码:

public class FileClass
{
    #region '  Declarations  '

    private string TEMP_FILE = "~tmpData.txt";
    private GenericParserAdapter _parser;
    private int _fieldID;
    private int _profileID;
    private string _name = string.Empty;
    private string _dataType = string.Empty;
    private int _length = 0;
    private Boolean _isKey = false;
    private Boolean _inCompare = false;
    private int _startPosition = 0;
    private int _endPosition = 0;
    public  int _field;

    public enum FileType
    {
        CharacterRanges,
        Delimited
    }


    private string _location = string.Empty;
    private FileType _type;
    private DataTable _data;
    private Boolean _firstRowContainsFieldNames = true;

    public class ProfileClass
    {

        public ProfileClass _profile = new ProfileClass();

    }




    public class FieldCollectionClass
    {
        private FieldCollectionClass _ComparisonFileOne = new FieldCollectionClass();
        private FieldCollectionClass _ComparisonFileTwo = new FieldCollectionClass();

    }

    #endregion

private void CreateDefaultFieldNames(DataTable ParsedTable)
{
    // ADD LINE COLUMN HEADER
    ParsedTable.Columns[0].ColumnName = "Line";

    // NAME COLUMN HEADERS
    for (int i = 0; i < this._profile._field.Count; i++)
    {
        FieldCollectionClass field = this._profile._field[i];

        ParsedTable.Columns[i + 1].ColumnName = field._name;

        this._fields.Add(field);
    }
}

private void BuildParser(Boolean IsFixedLengthFile)
{

    _parser.FirstRowHasHeader = this._firstRowContainsFieldNames;

    if (IsFixedLengthFile)
    {   
        _parser.FixedWidth = true;

        int[] columnWidths = new int[this._profile._field.Count];
        int index = 0;

        // BUILD COLUMN WIDTHS
        foreach (FieldClass field in this._profile._field)
        {
            columnWidths[index] = _field.Length;
            index++;
        }
        _parser.ColumnWidths = columnWidths;
    }
    else
    {
        _parser.SetColumnDelimiter(',');
    }
}

#endregion

错误:

“文件名”不包含“_field”的定义,并且没有扩展方法“_field”接受类型的第一个参数。

【问题讨论】:

  • 您的示例代码中甚至不存在文件名...

标签: c# declaration


【解决方案1】:

你知道这段代码吗?

public class ProfileClass
{

   public ProfileClass _profile = new ProfileClass();

}

你认为它会产生多少实例?

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    相关资源
    最近更新 更多